Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Digital disruption with DevOps
Reference Architecture Overview
IBM Cloud Architecture Center
Sanjeev Sharma
Global CTO, De...
Continuous
Customer Feedback
& Optimization
Collaborative
Development
Continuous
Monitoring
Continuous Business Planning
C...
Key questions to ask and address in DevOps?
Development SCM Build
Package
Repo Deploy Testing Staging Production FeedbackP...
DevOps – applies across multiple ‘application’ domains
Data & Analytics
Build solutions that gather data from any type of ...
Significant architecture decisions
4
Application
Type
Delivery
pipeline
End-to-End
Tool chains
Delivery
platform
• Require...
Garage Method
5
Continuous
Customer Feedback &
Optimization
Collaborative
Development
Continuous
Monitoring
Continuous Bus...
Capabilities
6
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
Culture
Foundational
values and principles
Th...
Overall Architecture
7
https://www.ibm.com/devops/method/content/architecture/devOpsArchitecture
Overall Architecture - #1 Collaborative development
8
Collaborative development
Collaboration tools enable a culture of in...
Overall Architecture - #2 Track & Plan
9
Track & Plan
As the team brainstorms ideas, responds to
feedback and metrics, and...
Overall Architecture – #3 Edit Code
10
Edit code
Developers write source code in a code editor to
implement the architectu...
Overall Architecture – #4 Source Code
11
Source control
Developers manage the versions and
configuration of assets, merge ...
Overall Architecture – #5 Build, test, and continuous integration
12
Build, test, and continuous integration
Developers co...
Overall Architecture – #6 Artifact management
13
Artifact management
Binary files and other output from the build are
sent...
Overall Architecture – #7 Release management
14
Release management
The release is scheduled. The team needs tools
that sup...
Overall Architecture – #8 Deployment orchestration
15
Deployment orchestration
The team coordinates the manual and automat...
Overall Architecture – #9-11 Application, Runtimes, Security
16
Security
The team must ensure that all aspects of the
appl...
Overall Architecture – #12 Monitoring and metrics & #13 Alerts
17
Monitoring and metrics
The team plans, configures, monit...
Overall Architecture – #14 IT service management
18
IT service management
The team manages the process for responding to
o...
Overall Architecture – #15 Usage analytics
19
Usage analytics
The team uses analytics to learn how users
interact with the...
Overall Architecture – #16 Application Consumers & #17 DevOps
20
Application consumers
When users interact with the applic...
Overall Architecture – #18 Transformation and connectivity
& #19 Enterprise User Directory
21
Transformation and connectiv...
Client example: Bank
1. Developer creates code using IDE.
2. Source code stored in SCM (Git).
3. Gerrit (team collaboratio...
Client example: Healthcare. Hybrid cloud DevOps
23
Microsvc1.bluemix.org
Microsvc2.bluemix.org
Microsvc3.bluemix.org
UI.Ap...
Client example: Healthcare. Cloud native DevOps
24
Dev.AppXXX.bluemix.org QA.AppXXX.bluemix.org UAT.AppXXX.bluemix.org App...
DevOps Innovation Workshop
25
Review the current state
1. Business goals, IT goals, current
initiatives
2. DevOps
3. Requi...
Available Now!
26
The DevOps Adoption Playbook
Available now at all major booksellers!
Order your copy today and receive 3...
27
THANK YOU
Upcoming SlideShare
Loading in …5
×

Digital Disruption with DevOps - Reference Architecture Overview

1,941 views

Published on

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.

Published in: Technology
  • Be the first to comment

Digital Disruption with DevOps - Reference Architecture Overview

  1. 1. Digital disruption with DevOps Reference Architecture Overview IBM Cloud Architecture Center Sanjeev Sharma Global CTO, DevOps Adoption IBM Distinguished Engineer
  2. 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. 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. 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. 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. 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. 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
  8. 8. Overall Architecture 7 https://www.ibm.com/devops/method/content/architecture/devOpsArchitecture
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  24. 24. Client example: Healthcare. Hybrid cloud DevOps 23 Microsvc1.bluemix.org Microsvc2.bluemix.org Microsvc3.bluemix.org UI.AppXXX.bluemix.org
  25. 25. Client example: Healthcare. Cloud native DevOps 24 Dev.AppXXX.bluemix.org QA.AppXXX.bluemix.org UAT.AppXXX.bluemix.org AppXXX.bluemix.org
  26. 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. 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
  28. 28. 27 THANK YOU

×