This presentation will introduce a new DevOps reference architecture published by IBM. This technology agnostic reference architecture was developed harvesting solution architectures from dozens of clients who have been successful in adopting DevOps at scale. The presentation will present the capabilities - across practices, tools, platforms and organizational considerations, that are required for large scale DevOps adoption in an enterprise.
Boost PC performance: How more available memory can improve productivity
Digital Disruption with DevOps - Reference Architecture Overview
1. Digital disruption with DevOps
Reference Architecture Overview
IBM Cloud Architecture Center
Sanjeev Sharma
Global CTO, DevOps Adoption
IBM Distinguished Engineer
2. Continuous
Customer Feedback
& Optimization
Collaborative
Development
Continuous
Monitoring
Continuous Business Planning
Continuous
Testing
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
Culture
Foundational
values and
principles
Think
Conceptualization
refinement, and
prioritization of
capabilities Code
Generation,
enhancement,
optimization and
testing of
features
Deliver
Automated
production and
delivery of offerings
Run
Services, options,
and capabilities
required to run in
the Cloud
Manage
Ongoing
monitoring,
support, and
recovery of
offerings
Learn
Continuously learn
based on
outcomes from
experiments
Continuous Release& Deployment
Accelerate
software delivery –
for faster time to value
Balance speed, cost,
quality and risk –
for increased capacity to
innovate
Reduce time to
customer feedback – for
improved customer
experience
Process
Culture
Technology
Enterprise capability for continuous software delivery and
management that enables organizations to innovate rapidly to
capitalize on new market opportunities, and reduce the cycle
time to collect and react to customer feedback
Lean and
Agile principles
Analytics & Cognitive
https://www.ibm.com/devops
What is DevOps?
3. Key questions to ask and address in DevOps?
Development SCM Build
Package
Repo Deploy Testing Staging Production FeedbackPlanning Manage
What business
metrics are
defined for the app
/ service success?
How do we inject
innovation and
disruptive ideas into
the requirements?
How do you turn
business strategy
into development
plans?
How are
requirements
captured and
managed?
How do you know
you are building
the right app /
business service?
How do teams of
developers
collaborate on a
single build?
What code
repositories
are used?
How do you ensure
environment
consistency between
dev/test/prod?
How do you
orchestrate
changes
across multiple
components?
How are defects or
incidents fed back
to developers?
How is client
feedback captured
and acted upon?
How do you get
operational
feedback to dev?
What tools are
used for fault
finding and
problem root-
cause-analysis?
How can the
business see that
their critical
app/service is
operating
normally?
What happens
when an app or
business service
crashes?
How to you scale
a live application
or business
service?
How do you add
capacity to a live
application or
service?
How do you manage
a service that spans
across multiple cloud
providers?
How do you know
the environments
are secure?
How are security
requirements
planned into the
build?
How do you
manage releases?
How do you break
down one large release
to smaller independent
releases?
What KPIs are used
to measure delivery?
How do you
automate
testing?
What percentage
of dev budget
should be spent on
testing? How do you
reverse a change
affecting a service
or app and how do
you verify service
is back to normal?
How are apps or
services
monitored for
health &
performance?
How do you know
of architecture
changes in real
time?
How can you predict the
performance or health of
the app or service?
How do you track
out of policy
changes?
How do you
manage test
plans and test
results?
What IDE
tooling is used?
How do you
do functional
testing?
How do you
do integration
testing?
How do you branch and
synchronize version
control system for
developing fixes or
updates?
How do you
assess quality of
development?
How is operational
excellence
measured?
How do you
build anti-fragile
environments?
How do you do
performance and
operational testing?
How do you
coordinate across
multiple delivery
pipelines?
4. DevOps – applies across multiple ‘application’ domains
Data & Analytics
Build solutions that gather data from any type of source, including web and social. With those solutions, you can store, analyze, and report on
data by using analytic engines to drive actionable insights and visualization.
Hybrid Create applications whose components are split across cloud and on-premises environments, or across different clouds.
Microservices Provide the runtime and services to deploy microservice applications that are resilient, agile, and scalable.
Mobile
Develop, deploy, and manage scalable native and hybrid apps for mobile devices while you are securely connected to back-end infrastructure
on the cloud or in an enterprise.
IoT
Connect to Internet of Things (IoT) devices and build scalable apps and dashboards to learn from IoT data by using IBM Bluemix IoT, Data,
and Cognitive services.
Web App
Build solutions that gather data from any type of source, including web and social. With those solutions, you can store, analyze, and report on
data by using analytic engines to drive actionable insights and visualization.
Development SCM Build
Package
Repo Deploy Testing Staging Production FeedbackPlanning Manage
5. Significant architecture decisions
4
Application
Type
Delivery
pipeline
End-to-End
Tool chains
Delivery
platform
• Requirements and lifecycle
management
• Integrated development
environment
• Source control
management
• Build / Artifact repository
• Continuous integration tool
• Service virtualization
• Deployment automation
• Orchestration
• Service management
• Defects management
• On-premises
• Off-premises
• Hybrid Cloud
• Traditional IT
• Deployment automation
• Orchestration
• Security
• On-premises
• Off-premises
• Hybrid Cloud
• Traditional IT
• # test environments
• # staging environments
• Cloud Native app
• Cloud Ready app
• Monolithic app
• Hybrid app
• Mobile application
• Micro-services
• API / Integration
• Internet of Things
• Big Data & Analytics
6. Garage Method
5
Continuous
Customer Feedback &
Optimization
Collaborative
Development
Continuous
Monitoring
Continuous Business Planning
Continuous
Testing
Operate
Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
Culture
Foundational
values and principles
Think
Conceptualization
refinement, and
prioritization of
capabilities
Code
Generation,
enhancement,
optimization and testing
of features
Deliver
Automated production
and delivery of offerings
Run
Services, options, and
capabilities required to
run in the Cloud
Manage
Ongoing monitoring,
support, and recovery of
offerings
Learn
Continuously learn
based on outcomes
from experiments
Continuous Release& Deployment
https://www.ibm.com/devops/method/
7. Capabilities
6
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
Culture
Foundational
values and principles
Think
Conceptualization
refinement, and
prioritization of
capabilities Code
Generation,
enhancement,
optimization and
testing of
features
Deliver
Automated production
and delivery of
offerings
Run
Services, options, and
capabilities required
to run in the Cloud
Manage
Ongoing monitoring,
support, and recovery
of offerings
Learn
Continuously learn
based on outcomes
from experiments
Source Code Mgt
Construct
Build & Continuous
Integration
Code Testing
Artifact Mgt.
CODE
Business Strategy
Requirements
User Experience
Plan & Track
Architecture
Technical Design
Concept Validation
THINK
Hybrid Connectivity
Hybrid Security
Autoscaling
Runtimes
RUN
Run Testing
Usage Analytics
Team Analytics
Business Analytics
LEARN
Business Validation
Logging
Monitoring
& Metrics
Event Mgt.
Alert Notification
Runbook
Automation
Root Cause Analysis
Incident Mgt.
Change Mgt.
MANAGE
Operational Testing
Environment
Provisioning
Middleware
Configuration
Application
Deployment
Ops Tooling
Integration
Security Tooling
Integration
A/B Deployment
Deployment
Orchestration
Release Mgt.
DELIVER
Delivery Testing
9. Overall Architecture - #1 Collaborative development
8
Collaborative development
Collaboration tools enable a culture of innovation.
Developers, designers, operations teams, and
managers must communicate constantly.
Development and operations tools must be
integrated to post updates and alerts as new
builds are completed and deployed and as
performance is monitored. The team can discuss
the alerts as a group in the context of the tool.
Cloud services
Slack
On-premises products
IBM® Connections™
IBM Verse™
10. Overall Architecture - #2 Track & Plan
9
Track & Plan
As the team brainstorms ideas, responds to
feedback and metrics, and fixes defects, team
members create work items and rank them in the
backlog. The team works on items from the top of
the backlog, delivering to production as they
complete work.
Cloud services
GitHub Issues and Projects
On-premises products
IBM Rational Team Concert™
11. Overall Architecture – #3 Edit Code
10
Edit code
Developers write source code in a code editor to
implement the architecture. They construct,
change, and correct applications by using various
coding models and tools.
Cloud services
Atom
Sublime
Web IDE
On-premises products
Eclipse
IBM Rational® Application Developer
12. Overall Architecture – #4 Source Code
11
Source control
Developers manage the versions and
configuration of assets, merge changes, and
manage the integration of changes. The source
control tool that a team uses should support
social coding.
Cloud services
GitHub
Git hosted on Bluemix
On-premises products
GitHub Enterprise
13. Overall Architecture – #5 Build, test, and continuous integration
12
Build, test, and continuous integration
Developers compile, package, and prepare
software assets. They need tools that can assess
the quality of the code that is being delivered to
source control. Those assessments are done
before delivery, are associated with automated
build systems, and include practices such as
code reviews, unit tests, code quality scans, and
security scans.
Cloud services
The Build & Deploy pipeline in IBM Bluemix
DevOps Services
Sauce Labs
On-premises products
IBM Rational Test Workbench
IBM Rational Team Concert™
IBM Rational Functional Tester
IBM Rational Performance Tester
IBM UrbanCode™ Build
IBM UrbanCode Deploy
14. Overall Architecture – #6 Artifact management
13
Artifact management
Binary files and other output from the build are
sent to and managed in a build artifact repository.
Cloud services
IBM Bluemix DevOps Services
On-premises products
IBM Rational Asset Manager
IBM UrbanCode Deploy
15. Overall Architecture – #7 Release management
14
Release management
The release is scheduled. The team needs tools
that support release communication and
managing, preparing, and deploying releases.
On-premises products
IBM UrbanCode Release
16. Overall Architecture – #8 Deployment orchestration
15
Deployment orchestration
The team coordinates the manual and automated
processes that are required for the solution to
operate effectively. The team must strive towards
continuous delivery with zero downtime. A/B
deployments can help to gauge the effectiveness
of new changes.
Cloud services
The Delivery Pipeline service on Bluemix
IBM Active Deploy
IBM Globalization Pipeline
On-premises products
IBM Cloud Orchestrator
IBM UrbanCode Deploy
17. Overall Architecture – #9-11 Application, Runtimes, Security
16
Security
The team must ensure that all aspects of the
application and its supporting infrastructure are
secured.
Cloud services
IBM Access Trail
IBM Application Security on Cloud
IBM Single Sign On
Application
The team must understand the application and
the options for the application’s runtime
environment, security, management, and release
requirements.
Runtime and containers
Depending on the application requirements, some
or all of the application stack must be considered,
including middleware, the operating system, and
virtual machines.
Cloud services
Bluemix runtimes (Node.js, Java, Liberty, & more)
IBM Auto-Scaling for Bluemix
IBM Containers
OpenStack virtual machines
18. Overall Architecture – #12 Monitoring and metrics & #13 Alerts
17
Monitoring and metrics
The team plans, configures, monitors, defines
criteria, and reports on application availability and
performance. Predictive analytics can indicate
problems before they occur.
Cloud services
IBM Alert Notification
IBM Bluemix Availability Monitoring
IBM Mobile Quality Assurance
IBM Monitoring and Analytics for Bluemix
New Relic
On-premises products
IBM Application Performance Management
Alert notifications
The right people on the team or systems are
notified when issues occur.
Cloud services
IBM Alert Notification
19. Overall Architecture – #14 IT service management
18
IT service management
The team manages the process for responding to
operations incidents, and delivers the changes to
fix any incidents. For more information, see the
Cloud Service Management architecture.
Cloud services
Runbook Automation
On-premises products
IBM Control Desk
ServiceNow
20. Overall Architecture – #15 Usage analytics
19
Usage analytics
The team uses analytics to learn how users
interact with the application and measure success
through metrics.
Cloud services
Google Analytics
On-premises products
IBM Digital Analytics
21. Overall Architecture – #16 Application Consumers & #17 DevOps
20
Application consumers
When users interact with the application, they can
provide feedback on their requirements and how
the application is meeting them, which is captured
by analytics as well.
DevOps engineers
DevOps engineers manage the entire application
lifecycle while they respond to feedback and
analytics from the running application.
22. Overall Architecture – #18 Transformation and connectivity
& #19 Enterprise User Directory
21
Transformation and connectivity
The enterprise network is protected by a firewall
and must be accessed through transformation
and connectivity services and secure messaging
services.
Cloud services
IBM API Connect
IBM Secure Gateway
Enterprise user directory
The security team uses the user directory
throughout the flow. The directory contains
information about the user accounts for the
enterprise.
On-premises products
IBM Security Directory Server
23. Client example: Bank
1. Developer creates code using IDE.
2. Source code stored in SCM (Git).
3. Gerrit (team collaboration & pipeline)
manages isolated testing.
4. Automated and manual testing
executed.
5. Testing results merged into pipeline
once stage gates passed.
6. Build automation initiated (Jenkins),
together with additional integration
testing.
7. Build artefacts push to repository
(Nexus).
8. UCD pulls build artefacts from Nexus
and initiates platform deployment.
9. UCD deploys applications and
configs to target platforms.
22
26. DevOps Innovation Workshop
25
Review the current state
1. Business goals, IT goals, current
initiatives
2. DevOps
3. Requirements
4. Environments
5. Repositories
6. Roles / Organization
7. Metrics
8. Other
Prioritize challenges to be resolved
Create a first pass at an
improvement roadmap
The whiteboard
27. Available Now!
26
The DevOps Adoption Playbook
Available now at all major booksellers!
Order your copy today and receive 35% off with
discount code VBN25 when you order on Wiley.com:
http://www.wiley.com/buy/9781119308744
More details: http://devopsadoptionplaybook.com