Post on 14-Jul-2015
© 2015 IBM Corporation
Understanding DevOps
Sanjeev Sharma IBM Worldwide Lead – DevOps Technical Sales & Adoption IBM Cloud
@sd_architect Blog: http://bit.ly/sdarchitect Session: DTS-1778
Why DevOps?
2
Deploying Infrastructure is the biggest bottleneck for the Delivery Pipeline
Security Compliance SLAs Extensibility Cost of ownership
Automate to Deploy with Speed
On-Premise Systems
Companies are building “front tiers” for web, mobile, and social apps – these need to be delivered fast,
updated frequently, and perform well
DevOps in a Hybrid World
Those “front tiers” often integrate to existing “back
office” applications and these need to work reliably
Companies need to automate the application delivery pipeline – these
apps need to be delivered fast, updated frequently, and perform well
To improve customer experience and grow market share companies need to quickly build robust mobile and
web based services. To grow business, companies need to securely deliver data globally, reliably,
and with extreme speed.
…AND throughout this whole process, companies need to ensure governance, compliance and SLA
delivery for availability and performance end to end.
The new World is Hybrid
4
Shared Off-Premise
Cloud
Dedicated On-Premise
Cloud
Traditional IT Dedicated Off-Premise Cloud
Enterprise Applications
Cloud Enabled
Cloud Native Apps/ServicesHybrid Cloud
5
Enter, Two Speed IT
Rapid iterations
Develop Production
Build Test Deploy API Catalog
Production
API Catalog
Behind the Firewall
Slower iterations
Develop Production Build Test Deploy
Slower iterations
Cloud
Effective delivery of hybrid applications requires Alignment, Isolation and Coordination
6
Rapid iterations
Develop Production Build Test Deploy Production
Slower iterations Slower iterations
Plan
Develop Production Build Test Deploy Production Plan
Alignment Isolation Coordination
Behind the firewall
Cloud
What is DevOps?
DevOps approach: Apply Lean principles accelerate feedback and improve time to value
Line-of-business
Customer
1
3
2
1. Get ideas into production fast 2. Get people to use it 3. Get feedback
Non-Value-added waste Value-added production work
Lean Transformation
http://ibm.co/devopsfordummies
Leverage feedback across the Delivery Pipeline to Continuously Improve:
I. Application Delivered
II. Environment Deployed
III. Application and Environment Delivery Process
DevOps == Continuous Improvement
Efficient Delivery
• Less waiting and bottlenecks • Less unproductive overhead • Less defects and rework
Effective Steering
• Stakeholders • Marketplace • Users
Continuous Feedback
Minimize Waste
Feedback cycles Efficiency
DevOps is designed to drive the effectiveness and efficiency required to dramatically increase speed and reduce cost and risk
Productive
Waste
50% 50% 80% 20%
10
IBM DevOps Adoption Model Practices, tools and services to plan and execute a staged adoption of DevOps to improve business outcomes
Feedback Cycles
Productive Waste
Efficiency
Steer Product-based
Agile
Automated
Collaborative
Optimizing
More Predictable
More Transparent
More Continuous
Process-based
Process-heavy
Manual
Silo-ed
Develop/Test
Deploy
Operate
Inefficient Leaner Leaner and Smarter
DevOps Adoption: Where to start? Address bottlenecks in the Delivery Pipeline
Develop / Test
Deploy Steer Operate
Collaborative Development
Continuous Release and Deployment
Continuous Testing
Business Owner
Service Developer/Tester
Service Operations
Target Customer
Idea Market
DevOps
Continuous Business Planning
Continuous Monitoring
Lean and Agile principles
Continuous feedback and Optimization
The Delivery Pipeline
Implementing a Delivery Pipeline
SCM
Build / CI Server
Unit testing Test Automation Test Stubbing
Delivery Pipeline
Environment Configuration
Automated Monitoring
Asset Repository
1. Cloud Hosted DevOps toolchain
SCM
Build / CI Server
Unit testing Test Automation Test Stubbing
Delivery Pipeline
Environment Configuration
Automated Monitoring
Asset Repository
Cloud
2. Cloud Hosted Environments
SCM
Build / CI Server
Unit testing Test Automation Test Stubbing
Delivery Pipeline
Environment Configuration
Automated Monitoring
Asset Repository
Cloud
§ The adoption of DevOps == increased velocity of application delivery
§ Puts pressure on the infrastructure to respond more quickly
§ Software Defined Environments enable you to capture infrastructure as a software artifact
Deploying Infrastructure is the biggest bottleneck for the Delivery Pipeline
Application !Changes!
Infrastructure!Changes!
Orchestrating the Delivery Pipeline: Deployment Automation
19
Enter, Two Speed IT
Rapid iterations
Develop Production
Build Test Deploy API Catalog
Production
API Catalog
Behind the Firewall
Slower iterations
Develop Production Build Test Deploy
Slower iterations
Cloud
Application Deployment to Hybrid Environments
Develop Deliver
SCM
CI Tool IDE
Build Request Build Built Artifacts
Deploy
System of Engagement
IBM UrbanCode Deploy
20
System of Record
IBM UrbanCode Deploy
• Deploy complex applications: multi-platform, multi-technology
• Applications in different layers develop and deploy at different velocities
• Hybrid environments: Public and Private Cloud, Distributed physical or virtualized servers, Mainframe, Mobile Devices, and also Smart devices
Mobile Device
Mainframe
Cloud
Traditional
IBM UrbanCode Deploy with Patterns
Legacy Systems
Develop, Release & Deploy
IBM UrbanCode Release IBM UrbanCode Deploy
Private Cloud
IBM Cloud Orchestrator / IBM Cloud Manager with OpenStack
Pattern Engine
Provision Application + Infrastructure
Provision Application
InnovationCloud Stack
IBM Bluemix
Infrastructure
On Premise Systems
Provision Application + Infrastructure
Public Cloud
Aspera High Speed Transfer
CloudFoundry ‘Community’ Buildpacks
IBM DevOps Services
DevOps on Hybrid Cloud
Hybrid Cloud
APIs
APIs
UrbanCode Deploy Application Blueprints define Deployment across platforms
What to be deployed
Where to be deployed (Physical or Cloud Resources) - Patterns
How to be deployed
IBM UrbanCode Deploy
IBM UrbanCode Deploy with Patterns
Cloud Patterns Supported
Where to be deployed (Physical or Cloud Resources) - Patterns
• IBM Virtual System Patterns: Supported by –
o IBM Cloud Orchestrator
o IBM PureApplication System • OpenStack HEAT Templates (HOT):
Supported by –
o IBM Cloud Orchestrator o IBM Cloud Manager with
OpenStack
o Softlayer o Amazon Web Services
o VMWare vCenter o OpenStack Private Cloud
IBM UrbanCode Deploy with Patterns
Continuous Testing: Deploy what is ready, Virtualize the rest
Effective delivery of hybrid applications requires Alignment, Isolation and Coordination
25
Rapid iterations
Develop Production Build Test Deploy Production
Slower iterations Slower iterations
Plan
Develop Production Build Test Deploy Production Plan
Alignment Isolation Coordination
Behind the firewall
Cloud
What is Service Virtualization? Making the unavailable available for testing
§ Virtual components simulate the behavior of a service or application during testing
§ Virtual components run on commodity hardware, private cloud, public cloud
§ Each developer and tester can easily have their own test environment
§ Developers and testers can continue to use current testing procedures and tools
Heterogeneous Environments
Public Cloud Private Cloud
Data Warehouse Mainframe Enterprise Service Bus
Directory Identity
File systems
Collaboration
App Under Test Routing Service
Third-party Services Portals
Content Providers
EJB
Shared Services
Archives
Business Partners
Messaging Services
Databases Mainframe applications
App Under Test
Third-party Services
Packaged apps, messaging services, etc.
Virtual Components
Databases Internal Messages
Third-party Services
virtual components
Simultaneously test across
multiple test stages
Dev QA
IBM Rational Test Virtualization Server
IBM UrbanCode Deploy
IBM Rational Test Workbench
integrated with
Test Environments
Dynamic Infrastructure
§ Deploy what is ready, virtualize the rest
§ Continuously test in production-like env.
§ Deploy private, secure right sized test data
IBM InfoSphere Optim Test Data Mgmt
UrbanCode Deploy Plugins
IBM Rational Quality Manager
§ Manage quality across the delivery lifecycle
Continuous Testing: Deploy what is ready, Virtualize the rest
Continuous Testing improves software quality
Actual Service/App Virtual Service/App
• Service Virtualization is an enabler for continuous testing
• Services, applications, systems are introduced into the continuous integration cycle in a prioritized, controlled fashion.
• Controlled integration helps isolate defects for faster resolution.
Service virtualization enables continuous integration testing Using virtual components Enables testers to continuously test what they want, when they want, how they want
Release Management: Visibility and Metrics
Effective delivery of hybrid applications requires Alignment, Isolation and Coordination
30
Rapid iterations
Develop Production Build Test Deploy Production
Slower iterations Slower iterations
Plan
Develop Production Build Test Deploy Production Plan
Alignment Isolation Coordination
Behind the firewall
Cloud
31
• Track your changes and dependencies in the context of a release • Detect what application is at risk • Integrate with Rational Team Concert
Risk Management – Impact Analysis
UrbanCode Release: Increased Visibility and Control - Pipeline View
• Keep track of the inventory across the entire life cycle of the release • Control the entire release lifecycle in an easy to use view
An Embedded Delivery Pipeline: DevOps with BlueMix PaaS
34
Run Your Apps The developer can chose any language runtime or bring their own. Just upload your code and go.
DevOps Development, monitoring, deployment and logging tools allow the developer to run the entire application
APIs and Services A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.
Cloud Integration
Build hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.
Extend SaaS Apps
Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web) !
IBM Bluemix
34
IBM DevOps Services for Bluemix • Integrated task tracking,
agile planning, source control
• Optimized for Bluemix
• Use your favorite tools or work from the Web IDE
• Hosted SCM Jazz or Git or link to GitHub
• Continuous Integration and Deployment
• Mobile quality and application performance monitoring
http://jazzhub.com/innovate
35
Adopting DevOps: Where to Start?
IBM DevOps Adoption Model Practices, tools and services to plan and execute a staged adoption of DevOps to improve business outcomes
Feedback Cycles
Productive Waste
Efficiency
Steer Product-based
Agile
Automated
Collaborative
Optimizing
More Predictable
More Transparent
More Continuous
Process-based
Process-heavy
Manual
Silo-ed
Develop/Test
Deploy
Operate
Inefficient Leaner Leaner and Smarter
IBM DevOps Adoption Model Where to Start?
Feedback Cycles
Productive Waste
Efficiency
Steer Product-based
Agile
Automated
Collaborative
Optimizing
More Predictable
More Transparent
More Continuous
Process-based
Process-heavy
Manual
Silo-ed
Develop/Test
Deploy
Operate
Inefficient Leaner Leaner and Smarter
Map your Delivery Pipeline: Large Bank
Idea/Feature/Bug Fix/ Enhancement
Production
Development Build QA SIT UAT Prod
PMO
Requirements/ Analyst
Developer
Customers Line of Business
Build Engineer
QA Team Integration Tester User/Tester Operations
Artifact Repository
Deployment Engineer
Release Management
Code Repository
Deploy
Get Feedback
Infrastructure as Code/ Cloud Patterns
Feedback
Customer or Customer Surrogate
Metrics - Reporting/Dashboarding
Tasks
Artifacts
Bottleneck: Rigid ‘One-size-fits-all’ Development process
Solution: Agile Transformation with ‘Risk-Value’ based Process Variants
Bottleneck: Ticket Based Environment Provisioning
Solution: Cloud Hosted Developer ‘Self-Service’
Bottleneck: Weekend long Deployments that often fail
Solution: Frequent Deployment of Small Batches of Change Bottleneck: Late Discovery of
Architectural Fragility
Solution: Agile ‘Shift Left’ Integration Testing to early in LifeCycle
How to get started? – Next Steps
1 Design Your Future State DevOps Framework
§ Assess current state & determine bottlenecks
§ Define operational framework – organization, process, technology
§ Define actionable, prioritized roadmap with pilots
2 Build & Pilot § Build / create the DevOps framework
§ Address gaps between current state and end state
§ Conduct pilots
3 Optimize & Expand § Optimize framework
§ Onboard next set of applications
§ Continue to monitor and measure impact
Proposal scope
Get Mapped @ IBM InterConnect
DevOps Workshop: Innovation • Tuesday , Feb 24th, 2:00–3:30 pm (6753) Delano Hotel, Level 6,
Sage A • Wednesday, Feb 25th, 12:30–2:00pm (6754) MGM Grand
Conference Center, Room 122
41
Registration Required
Resources
• Sanjeev’s DevOps Blog: http://sdarchitect.wordpress.com | @sd_architect
• IBM Cloud: http://www.ibm.com/cloud-computing/ • IBM DevOps: http://www.ibm.com/ibm/devops/
• IBM DevOps approach for the Cloud: http://youtu.be/fVaJigwfNY4
• IBM UrbanCode: https://developer.ibm.com/urbancode/ • IBM Hybrid Cloud Application Deployment demos:
• UrbanCode Deploy with Patterns 10 minute demo: http://youtu.be/fFuRg6l3N44
• UrbanCode Deploy with Virtual System Patterns: http://youtu.be/HPs_TQpyL-w
• UrbanCode Deploy deploying to Bluemix: http://youtu.be/2Hk2oALmIZg
43
Questions?
Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You Your Feedback is
Important!
Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone,
laptop or conference kiosk.