Digital Disruption with DevOps - Reference Architecture Overview
-
Upload
ibm-urbancode-products -
Category
Technology
-
view
947 -
download
4
Transcript of Digital Disruption with DevOps - Reference Architecture Overview
Digital disruption with DevOps Reference Architecture Overview
IBM Cloud Architecture Center
Sanjeev SharmaGlobal CTO, DevOps AdoptionIBM Distinguished Engineer
ContinuousCustomer Feedback
& Optimization
Collaborative Development
ContinuousMonitoring
Continuous Business Planning
ContinuousTesting
Operate Develop/ Test
Deploy
Steer
DevOpsContinuous Feedback
CultureFoundationalvalues and principles
ThinkConceptualization refinement, and prioritization of
capabilities CodeGeneration,
enhancement, optimization and
testing of features
DeliverAutomated
production and delivery of offerings
RunServices, options, and capabilities
required to run in the Cloud
ManageOngoing
monitoring, support, and recovery of offerings
LearnContinuously learn
based on outcomes from
experiments
Continuous Release& Deployment
Acceleratesoftware 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?
Key questions to ask and address in DevOps?
Development SCM BuildPackageRepo 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?
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 BuildPackageRepo Deploy Testing Staging Production FeedbackPlanning Manage
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
Garage Method
5
ContinuousCustomer Feedback &
Optimization
Collaborative Development
ContinuousMonitoring
Continuous Business Planning
ContinuousTesting
Operate Develop/ Test
Deploy
Steer
DevOpsContinuous Feedback
CultureFoundational
values and principles
ThinkConceptualization refinement, and prioritization of
capabilitiesCode
Generation, enhancement,
optimization and testing of features
DeliverAutomated production
and delivery of offerings
RunServices, options, and capabilities required to
run in the Cloud
ManageOngoing monitoring,
support, and recovery of offerings
LearnContinuously learn based on outcomes from experiments
Continuous Release& Deployment
https://www.ibm.com/devops/method/
Capabilities
6
Operate Develop/ Test
Deploy
Steer
DevOpsContinuous Feedback
CultureFoundational
values and principles
ThinkConceptualization refinement, and prioritization of
capabilities CodeGeneration,
enhancement, optimization and
testing of features
DeliverAutomated production
and delivery of offerings
RunServices, options, and capabilities required to run in the Cloud
ManageOngoing monitoring,
support, and recovery of offerings
LearnContinuously learn based on outcomes from experiments
Source Code Mgt
ConstructBuild & 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 ValidationLogging
Monitoring & Metrics
Event Mgt.
Alert Notification
RunbookAutomation
Root Cause Analysis
Incident Mgt.
Change Mgt.
MANAGE
Operational Testing
Environment ProvisioningMiddleware
ConfigurationApplication DeploymentOps Tooling Integration
Security Tooling Integration
A/B Deployment
Deployment Orchestration
Release Mgt.
DELIVER
Delivery Testing
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 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 servicesSlack
On-premises productsIBM® Connections™IBM Verse™
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 servicesGitHub Issues and Projects
On-premises productsIBM Rational Team Concert™
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 servicesAtom SublimeWeb IDE
On-premises productsEclipseIBM Rational® Application Developer
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 servicesGitHubGit hosted on Bluemix
On-premises productsGitHub Enterprise
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 servicesThe Build & Deploy pipeline in IBM Bluemix DevOps ServicesSauce Labs
On-premises productsIBM Rational Test WorkbenchIBM Rational Team Concert™IBM Rational Functional TesterIBM Rational Performance TesterIBM UrbanCode™ BuildIBM UrbanCode Deploy
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 servicesIBM Bluemix DevOps Services
On-premises productsIBM Rational Asset ManagerIBM UrbanCode Deploy
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 productsIBM UrbanCode Release
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 servicesThe Delivery Pipeline service on BluemixIBM Active DeployIBM Globalization Pipeline
On-premises productsIBM Cloud OrchestratorIBM UrbanCode Deploy
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 servicesIBM Access TrailIBM Application Security on CloudIBM 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 servicesBluemix runtimes (Node.js, Java, Liberty, & more)IBM Auto-Scaling for BluemixIBM ContainersOpenStack virtual machines
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 servicesIBM Alert NotificationIBM Bluemix Availability MonitoringIBM Mobile Quality AssuranceIBM Monitoring and Analytics for BluemixNew Relic
On-premises productsIBM Application Performance Management
Alert notifications The right people on the team or systems are notified when issues occur.
Cloud servicesIBM Alert Notification
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 servicesRunbook Automation
On-premises productsIBM Control DeskServiceNow
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 servicesGoogle Analytics
On-premises productsIBM Digital Analytics
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.
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 servicesIBM API ConnectIBM 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 productsIBM Security Directory Server
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
Client example: Healthcare. Hybrid cloud DevOps
23
Microsvc1.bluemix.org
Microsvc2.bluemix.org
Microsvc3.bluemix.org
UI.AppXXX.bluemix.org
Client example: Healthcare. Cloud native DevOps
24
Dev.AppXXX.bluemix.org QA.AppXXX.bluemix.org UAT.AppXXX.bluemix.org AppXXX.bluemix.org
DevOps Innovation Workshop
25
Review the current state1. Business goals, IT goals, current
initiatives2. DevOps3. Requirements4. Environments5. Repositories6. Roles / Organization7. Metrics8. Other
Prioritize challenges to be resolvedCreate a first pass at an improvement roadmap
The whiteboard
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
27
THANK YOU