Practical DevOps in a Hybrid World
© 2013 IBM Corporation
2015.April.16Richard Irving
@irvnet
Systems of Record
Systems of Interaction
Systems of Engagement
Inefficient software delivery impacts the entire business
of customers experience
production delays
>45%of budgets devoted to
maintenance and operations
>70%
OPERATIONS
Rapid app releases impact system stability and
compliance
LINE-OF-BUSINESS
Takes too long to introduce or make changes to
mobile apps and services
CRM HR
© 2013 IBM Corporation
Continuousclient experience
Partner valuechain
Cloud-basedServices of outsourced
projects fail to meet objectives
>50%to deliver even minor
application changes to customers
4-6 weeks
DEVELOPMENT/TEST
Speed mismatch between faster moving front office and slower
moving back office systems, delaying time to obtain feedback
SUPPLIERS
Delivery in the context of agile
DB ERP
DevOps Lifecycle
Operations/ProductionDevelopment/TestCustomers Business Owners
Monitor and Optimize
Plan and Measure Develop and Test Release and Deploy
DevOps - Enterprise capability for continuous service delivery that enables
clients to seize market opportunities and reduce time to customer feedback.
© 2013 IBM Corporation
Accelerate Software DeliveryExpanding collaboration to include customers, LOB and others to eliminate organization silos
Balance speed, cost, quality and riskAutomating manual processes across delivery lifecycle to eliminate waste/delays and compliance tracking
Reduce time to customer feedbackEnabling a customer feedback loop for continuous improvement
Continuous Innovation, Feedback and Improvements
Monitor and Optimize
DevOps approach: Apply Lean principles accelerate feedback and improve time to value
Line-of-
business
Customer
1
2
1. Get ideas into production fast
2. Get people to use it
3. Get feedback
© 2013 IBM Corporation
Customer
3
Non-Value-added waste
Value-added production work
Lean
Transformation
http://ibm.co/devopsfordummies
Leverage feedback to improve:
I. Application Delivery
II. Environment Provisioning
III. Application and Environment Delivery Process
DevOps includes Continuous Improvement
© 2013 IBM Corporation
Efficient DeliveryEfficient DeliveryEfficient DeliveryEfficient DeliveryEffective SteeringEffective SteeringEffective SteeringEffective Steering
DevOps is designed to drive the effectiveness and efficiencyrequired to dramatically increase speed and reduce cost and risk
50%50%80%20%
© 2013 IBM Corporation
• Less waiting and bottlenecks • Less unproductive overhead• Less defects and rework
• Stakeholders• Marketplace• Users
ContinuousContinuousContinuousContinuousFeedbackFeedbackFeedbackFeedback
Minimize Minimize Minimize Minimize WasteWasteWasteWaste
Feedback Feedback Feedback Feedback cyclescyclescyclescycles
EfficiencyEfficiencyEfficiencyEfficiency
Productive
Waste
6
The Big Sources of Wasted Efforts: Find the Hidden Factory
Non-Value-added waste
Value-added production work
Lean
Transformation
© 2013 IBM Corporation
7
Type of Waste Create Feature Deliver Feature
Unnecessary
Overhead
Communicating ideas/knowledge Communicating between development
and operations
Unnecessary
Re-work
Tasks assigned back to developers
from testing and usage
Tasks assigned back to developers from
production rollbacks
Over-production Unnecessary functionality produced Unnecessary hardware, data center,
personnel
IBM DevOps Adoption ModelPractices, tools and services to plan and execute a staged adoption of DevOps to improve business outcomes
Steer Product-based
Agile
Optimizing
More
Predictable
Process-based
Process-heavyDevelop/Test
Inefficient Leaner Leaner and Smarter
© 2013 IBM Corporation
Feedback
Cycles
Productive Waste
Efficiency
Automated
Collaborative
More
Transparent
More
Continuous
Manual
Silo-ed
Deploy
Operate
Where to start - DevOps AdoptionAddress bottlenecks in the Delivery Pipeline
Develop
/ TestDeploySteer Operate
Collaborative Development
Business
Owner
Service
Developer/Tester
Service
Operations
Target
Customer
Idea Market
Continuous Continuous Monitoring
© 2013 IBM Corporation
Collaborative Development
Continuous Release and Deployment
Continuous Testing
DevOps
Continuous
Business Planning
Continuous Monitoring
Lean and Agile principles
Continuous feedback and Optimization
A Continuous Delivery PipelineA
SCM Build
Deploy
RTW
plugin
RTVS
pluginOptim
plugin
UAT
UrbanCode Deploy
Deploy App and
Configure
Middleware
Cloud Platform
© 2013 IBM Corporation
Databases Mainframe
applications
Third-partyServices
Rational Test Virtualization Server
Databases Mainframe
applications
Virtualized ServicesRational Test Workbench
Test
plugin plugin
Actual Services
plugin
Optim Test Data Management
Extract Data,
Insert Data,
Convert/Mask Data
Update Data
Configure and
start Virtual
Services
10
Test Data
Management
Some lessons learnedA
� Being rigorous about development processes is critical.
– Communicate, communicate, communicate!
– Track all of the work that’s in progress, update status daily.
– Have technical discussions in work items where possible – not in email.
– Make sure all new tasks and defects get documented and entered into the system ASAP.
� Remember when work is “DONE done”.
© 2013 IBM Corporation
– Tasks are not done until they are documented AND tested with other components AND deployed on a production-like system AND demo’d from said system.
� Our build and unit test process is critical.
– Require that all developers run personal builds and unit tests before integrating changes.
– When the build is broken, all new feature deliveries must wait until it’s fixed.
– Automate the fix and a test for the problem so it won’t happen again.
� Working across long distances is challengingA
– Communication is critical.
– Communication is difficult when it’s not real-time.
– It’s easy to lose a day when there’s a small flaw in communication.
– Files take a long time to transfer, slowing down the build or deployment process.
– Centralize work so that developers who are working on closely related components are in the same time zone; in the same building where possible
Some lessons learnedA
© 2013 IBM Corporation
components are in the same time zone; in the same building where possible
� Helpful when developers understand operational requirementsA like:
– If they have tests that fail. Add automated testing for operational quality.
– If they spend some time in operations. Get developers to spend time actually maintaining the software and keeping it running (i.e. month-long rotations). First-hand experience >> advocates.
What does the cloud have to do with DevOps?
SCM
Unit testing
Test Automation
Test Stubbing
Environment
Configuration
Asset
Repository
© 2013 IBM Corporation
Build / CI
Server
Delivery
Pipeline
Automated
Monitoring
1. Cloud Hosted DevOps toolchain
SCM
Unit testing
Test Automation
Test Stubbing
Environment
Configuration
Asset
Repository
© 2013 IBM Corporation
Build / CI
Server
Delivery
Pipeline
Automated
Monitoring
Cloud
2. Cloud Hosted Environments
SCM
Unit testing
Test Automation
Test Stubbing
Environment
Configuration
Asset
RepositoryCloud
© 2013 IBM Corporation
Build / CI
Server
Delivery
Pipeline
Automated
Monitoring
�The adoption of DevOps ==
increased velocity of application
delivery
�Puts pressure on the
infrastructure to respond more
Infrastructure deployment can be challengingA
Application
Changes
© 2013 IBM Corporation
quickly
�Software Defined Environments
enable you to capture
infrastructure as a software
artifactInfrastructure
Changes
The Hybrid WorldA
© 2013 IBM Corporation17
UrbanCode
IBM UrbanCode Release
IBM UrbanCode Deploy with Patterns
ProvisionApplication
ProvisionApplication +Infrastructure
Platform as a Service(Public)
On-prem Customer Data Centers
ProvisionApplication +Infrastructure
Public Data Centers
CloudFoundry ‘Community’ Buildpacks
Application workload portability for Hybrid Cloud environments
End-to-end Solution – Physical Infrastructure, Private Cloud, Public Cloud, Bluemix PaaS
ProvisionApplication +Infrastructure
© 2013 IBM Corporation
Legacy Stack On-Prem Cloud
Infrastructure
Private Cloud
Pattern EngineBlueMix
Infrastructure
System z and/or Distributed Applications
Virtual Private Cloud
AP
I Ga
tew
ay
IBM DevOps
Services
APIs
APIs
Off-Prem Cloud
Infrastructure
IBM Cloud Orchestrator /IBM Cloud Manager with Open Stack
Pattern Engine
IBM Bluemix
Developer experience
• Rapidly deploy and scale
applications in any language.
• Compose applications quickly
with useful APIs and services
and avoid tedious backend
Enterprise capability
• Securely integrate with existing
on-prem data and systems.
• Choose from flexible
deployment models.
• Manage the full application
Build, run, scale, manage, integrate & secure applications in the cloud
© 2013 IBM Corporation
• DevOps
• Big Data
• Mobile
• Watson
• Business Analytics
Bluemix service categories
• Database
• Web and application
• Security
• Internet of Things
• Cloud Integration
• Alchemy (Containers, NOSS)
• Capstone (API management &
Integration)
and avoid tedious backend
config.
• Realize fast time-to-value with
simplicity, flexibility and clear
documentation.
• Manage the full application
lifecycle with DevOps.
• Develop and deploy on a
platform built on a foundation of
open technology.Built on a foundation of open
technology.
What is Bluemix?
Bluemix is an open-standard, cloud-based platform for
building, managing, and running applications of all types
(web, mobile, big data, new smart devices, and so on).
© 2013 IBM Corporation20
Go Live in Seconds
The developer can choose
any language runtime or
bring their own. Zero to
production in one command.
DevOps
Development, monitoring,
deployment, and logging tools
allow the developer to run the
entire application.
APIs and Services
A catalog of IBM, third party,
and open source API services
allow the developer to stitch an
application together in minutes.
On-Prem Integration
Build hybrid environments.
Connect to on-premise assets
plus other public and private
clouds.
Flexible Pricing
Sign up in minutes. Pay as
you go and subscription
models offer choice and
flexibility.
Layered Security
IBM secures the platform and
infrastructure and provides
you with the tools to secure
your apps.
Easy to use process designer
Re-useable / Extensible
Integrations & Workflows
Continuous Delivery
Across Environments
IBM UrbanCode Deploy (Deployment Automation)
© 2013 IBM Corporation
Push Button Deployments
Role based security & gates
Scalable Architecture
1.2.3
System of Record
Everything is versioned & auditable
Components
Infrastructure Specialists
develop and update
reusable building blocks for
application environment
patterns 1
HOT
Architects and Integrators design
and update application environment
patterns from building blocks targeting
specific cloud platforms (Amazon,
VMWare)
2
Building
De
sig
n T
em
pla
tes
Application
Middleware Config
Middleware
IBM UrbanCode Deploy w/ Patterns (Full Stack Provisioning)
© 2013 IBM Corporation
Application Pattern
Building
Blocks
3
Release Engineers
leverages the application
environment patter to
create and manage a multi-
stage continuous delivery
pipeline
4Application Developers and Testers
can test the application changes for in
a production-like environment
De
plo
y T
em
pla
tes
vSys, vApp
Middleware
OS Config
Hardware
Deploy with Patterns
UI Optimized
for Personas
A visual approach to full stack provisioningA
© 2013 IBM Corporation
Pattern
Browser
Palette for
diagram and
text editor
Provision
new or
update
existing
environment
Orchestration
Network Domain
Storage Domain
IT ManagementMonitoring
DomainData
Availability Domain
Compute Domain
Monitoring
IT Asset Management
Storage Domain
Change Management
Network Domain
Managing workloads in a Cloud Enabled Data CenterA
© 2013 IBM Corporation
Orchestration Engine Service
Desk
Provision PatternProvision Pattern
Workload OrchestrationWorkload aware placement,
optimization and operation
Resource OrchestrationOnboard, provision, manage
CPU, Storage and Network
Service OrchestrationManage the lifecycle of business
applications
DBAppWeb
IBM Cloud Orchestrator: a cloud service to deploy an application
© 2013 IBM Corporation
Develop / Test
DeploySteer Operate
IBM DevOps – Broad set of DevOps capabilitiesAddress bottlenecks across the application delivery lifecycle
Continuous
Business PlanningCollaborative
Development
Continuous Release
and DeploymentContinuous
Monitoring
© 2013 IBM Corporation
Rational DOORS NG Rational Team Concert
Rational Lifecycle Integration
Adapters
Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization Server
InfoSphere Optim Test Data Management
IBM UrbanCode Release
IBM UrbanCode Deploy
SmartCloud Orchestrator
SmartCloud Application
Performance Management
SmartCloud Control Desk
Business Planning Development
Continuous
Testing
Monitoring
Continuous
Customer Feedback
& Optimization
IBM Tealeaf
IBM Digital Analytics
“IBM has a more comprehensive
end-to-end DevOps and ALM
testing integration tool strategy, and
the strongest market momentum.” –
Diego Lo Giudice, Forrester Research,
January 27, 2014
Your homework assignmentsA
© 2013 IBM Corporation27
Resources:� IBM DevOps Page: http://ibm.com/DevOps
� DevOps For Dummies Book: http://ibm.co/devopsfordummies
� Release and Deploy For Dummies Book: http://ibm.co/1bplaQV
� IBM DevOps YouTube Playlist: http://bit.ly/1fiDOtl
© 2013 IBM Corporation28
Your homework assignmentsA
A DevOps case study:• Defining the problem
• Transitioning to DevOps
© 2013 IBM Corporation29
• Aligning with the Business
Your homework assignmentsA
The DevOps textbook:• “How” delivery happens
• Real world examples
© 2013 IBM Corporation30
• Patterns & Anti-patterns
Your homework assignmentsA
A case study:• Identifying value
• Quantifying value
© 2013 IBM Corporation31
• Articulating value
© 2013 IBM Corporation
Top Related