SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
1IBM
_
Chapter
Opening
September 16, 2015Presentation Title
Shift Happens
Continually moving forward when the
outcome looks bleak
@Al_Wagner
2IBM
_
Avoiding
Deployment
Failures..
especially those that could cause a production outage, is top of
mind for many IT professionals. However, sometimes failures will
occur in production, which means that planning for recovery is
essential. Preventative measures like canary, blue/green or rolling
deployments can help, but also having the ability to roll forward
(instead of rolling back), also known as shifting right, means you can
push through a failure while learning from deployment process
mistakes and shortening mean time to recovery (MTTR).
• Deployment models like canary, blue/green and rolling that can
help prevent major production outages
• How to pinpoint deployment failures in your process and correct
them
• Pulling together a basic failure response plan
• How you can roll forward while improving your deployment
process
September 16, 2015Shift Happens
Survey says…
https://www-01.ibm.com/marketing/iwm/dre/signup?source=mrs-form-3570&S_PKG=ov50501
DevOps is all about executing with speed!
Line-of-
business
Customer
Getting ideas into production fast – Getting people to use it – Analyzing their feedback
Continuous Delivery
Continuous Feedback
Continuous Innovation
• Reducing Scope
ü Small batches of
incremental changes
• Empowering Resources
ü Co-located,
automatous teams
• Accelerating Schedules
ü Automate, automate,
automate
• Increasing Quality
ü Everyone contributes
ü Small batches of
incremental changes
ü Co-located, automatous
teams, collaboration
ü Continuous release &
deployment
ü Everyone contributes
5
Managing the Iron Triangle by…
Quality
Schedule
Scope
Resources
Traditional software deployments
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Users
Environment #1
Environment #2
Load
Balancer
1. Servers taken off-line
Traditional software deployments
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Users
Environment #1
Environment #2
Load
Balancer
New deployment is tested
1. Servers taken off-line
2. New release is deployed & tested
The clock is ticking!
Software
Deployment
Traditional software deployments
Web
Server
App
Server
Database
Server
App
Server
Database
Server
Users
Environment #1
Environment #2
Load
Balancer
New version of application
1. Servers taken off-line
2. New release is deployed & tested
3. Servers brought back on-line
Web
Server
Manual deployments are error prone
9
One wrong move and
it can all
And when disaster strikes! You need to know…
What
failed?
Where did
it fail?
What apps
were
impacted?
Should I move
traffic to
another server?
Do we go
forward or
rollback?
If you fail to plan;
you plan to fail!
Why did
it fail?
During the post mortem, you need to uncover…
Did anything trigger the deployment failure?
What was the root cause of the failure?
What could we have done differently to avoid this situation?
How can we improve so it doesn’t happen again?
Accelerate delivery of incremental software change
Failures due to
inconsistent dev
and production
environments
Bottlenecks trying
to deliver more
frequent releases
to meet market
demands
Complex, manual,
processes for
release lack
repeatability and
speed
Poor visibility into
dependencies
across releases,
resources, and
teams
Accelerate delivery of incremental software change
Failures due to
inconsistent dev
and production
environments
Bottlenecks trying
to deliver more
frequent releases
to meet market
demands
Complex, manual,
processes for
release lack
repeatability and
speed
Poor visibility into
dependencies
across releases,
resources, and
teams
The Four Pillars of
Gold-Standard Deployment
• Use the same process
ü Reduces deployment errors
• Automate, automate, automate
ü Deliver repeatability, reliability, &
with traceability
• Deliver incremental changes
ü Reduces risk to business
• Release what you test
ü Increases confidence
Automate provisioning and deployments
SCM
Build
Automation
Publish build
Pull
changes
IBM	Cloud	Orchestrator
IBM	PureApplication	System
IBM	Cloud	Manager
with	OpenStack
IBM	Bluemix
Provision environment
with open patterns
Public: Shared
off premises cloud
Dedicated:
off premises cloud
Local: Dedicated
on premises
cloud
Traditional IT
ü Traceable
VMWare
vCenter
ü Repeatableü Reliable
IBM UrbanCode
Deploy
Automate
deployment to
hybrid environments
IBM Cloud UrbanCode Deploy as a Service
Develop Build
Mobile Device
Mainframe
Traditional
Deploy
Features of the new SaaS offering
• Full automated application delivery capabilities
• Hosted on IBM infrastructure, managed by IBM
• Monthly subscription, license managed by IBM
• Full product support
App
App
App
App
SoftLayer, AWS, Azure
App
IBM Cloud
UrbanCode
Deploy
NEW!
16Page© 2016 IBM Corporation
IBM UrbanCode Release for release management
1
ü No more release week-end
parties: Coordinate
stakeholders, orchestrate
deployment activities, enforce
qualification process with
relevant workflow and quality
gates, get necessary approvals
prior getting to production.
Make releases predictable and
boring!
ü Reduced down time: Eliminate
wasted time, orchestrate large
& complex releases involving
several hundred applications,
and hundreds of stakeholders.
ü Reduced time to market with
continuous delivery releases:
Accelerate release frequency
with distributed release
management for small scope
frequent releases delivered by
application teams
Make releases predictable and boring!
IBM UrbanCode Release & Deploy iOS mobile app
ü Monitor Progress:
Understand the overall
progress of your releases
and remaining work. Get
real time calculations of
the projected completion
time
ü Alert for Critical
issues: See critical data
of late tasks and idling
tasks so you can
encounter problems and
mitigate business risks.
ü Understand team
status: Learn from teams
what they are blocked by
to take the right corrective
actions
https://itunes.apple.com/ca/app/ibm-urbancode-release-deploy/id1084753666?mt=8
Shift right and continuously move forward
Accelerate releases by making a conscious
decision to carry an acceptable level of …
…into PRODUCTION!
Dark Launches & Toggles
• Feature toggle - restricts access to source code
in development until ready for release to end
users
if “work_in_progress” {
develop new functionality here
} else {
already deployed as production code
};
• Business toggle – control user or group of user
access to new functionality
if “beta_usergroup” {
provide access to new experiment
} else {
route user to existing production code
};
ü Pros
New experiments can
quickly be made
available to groups of
trusted users
X Cons
Increase in technical
debt as ”toggle” code
needs to be managed
Zero downtime deployment strategies
Canary Release Blue/Green Deployments Rolling Deployments
a technique to reduce
the risk of introducing a
new software version in
production by slowly
rolling out the change
to a small subset of
users before rolling it
out to the entire
infrastructure and
making it available to
everybody.
a release technique
that reduces downtime
and risk by running two
identical production
environments
called Blue and Green.
At any time, only one of
the environments is
live, with the live
environment serving all
production traffic.
a software release
strategy that staggers
deployment across
multiple phases, which
usually include one or
more servers
performing one or more
functions within
a server cluster to
reduce application
downtime.
Canary Releases (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Users
Old Version
Old Version
50% of
Users
Load
Balancer
50% of
Users
Canary Releases (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Users
Old Version
New Version
All
Users
Deployment
AutomationInventory
Load
Balancer
Canary Releases (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Users
Old Version
New Version
Most
Users
(95%)
Some
Users
(5%)
Deployment
AutomationInventory
Load
Balancer
As confidence in the new release
increases, the percentage of users
who have access is increased.
Canary Releases (example flow)
Web
Server
App
Server
Database
Server
Users Load
Balancer
Old Version
Web
Server
App
Server
Database
Server
New Version
All
Users
Deployment
AutomationInventory
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
New VersionNew Version
Eventually the new version is
deployed to the second
environment.
Canary Releases (example flow)
Web
Server
App
Server
Database
Server
Users Load
Balancer
Old Version
Web
Server
App
Server
Database
Server
New Version
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
New VersionNew Version
50% of
Users
50% of
Users
And the user load is split across the
two environments.
Blue / Green Deployments (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Environment #1
RouterUsers
All
Users
Two environments, each of
sufficient resources to serve the
application in production.
Environment #2
Previous Release
(hot stand-by)
Blue / Green Deployments (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Environment #1
Environment #2
RouterUsers
All
Users
Two environments, each of sufficient resources
to serve the application in production.
Deployment
AutomationInventory
The new release is
deployed to the idle
environment.
Blue / Green Deployments (example flow)
Web
Server
App
Server
Database
Server
Web
Server
App
Server
Database
Server
Environment #1
RouterUsers
All
Users
Two environments, each of sufficient resources
to serve the application in production.
Environment #2
Previous Release
(hot stand-by)
When the new deployment is
working as expected, users are
routed to the new version.
Load
Balancer
Rolling Deployments (example flow)
Web
Server
App
Server
Database
Server
Server Cluster #1
Web
Server
App
Server
Database
Server
Server Cluster #2
Web
Server
App
Server
Database
Server
Server Cluster #3
Web
Server
App
Server
Database
Server
Server Cluster #4
Users
Rolling Deployments (example flow)
Web
Server
App
Server
Database
Server
Server Cluster #1
Web
Server
App
Server
Database
Server
Server Cluster #2
Web
Server
App
Server
Database
Server
Server Cluster #3
Web
Server
App
Server
Database
Server
Server Cluster #4
Users
Deployment
AutomationInventory
Load
Balancer
1. Cluster #1 taken off-line
2. Application change deployed
3. Deployment tested
Rolling Deployments (example flow)
Web
Server
App
Server
Database
Server
Server Cluster #1
Web
Server
App
Server
Database
Server
Server Cluster #2
Web
Server
App
Server
Database
Server
Server Cluster #3
Web
Server
App
Server
Database
Server
Server Cluster #4
Users
Deployment
AutomationInventory
Load
Balancer
1. Cluster #1 brought back on-line
2. Cluster #2 is taken off-line
3. Application change deployed
4. Deployment tested
Rolling Deployments (example flow)
Web
Server
App
Server
Database
Server
Server Cluster #1
Web
Server
App
Server
Database
Server
Server Cluster #2
Web
Server
App
Server
Database
Server
Server Cluster #3
Web
Server
App
Server
Database
Server
Server Cluster #4
Users
Deployment
AutomationInventory
Load
Balancer
1. Cluster #3 brought back on-line
2. Cluster #3 & #4 is taken off-line
3. Application change deployed
4. Deployment tested
Rolling Deployments (example flow)
Web
Server
App
Server
Database
Server
Server Cluster #1
Web
Server
App
Server
Database
Server
Server Cluster #2
Web
Server
App
Server
Database
Server
Server Cluster #3
Web
Server
App
Server
Database
Server
Server Cluster #4
Users
Load
Balancer
All environments are presenting
the latest version of the
application.
Pros and Cons…
Canary Release Blue/Green Deployments Rolling Deployments
Pros
• No downtime of production
environment
• Quick access to a backup
environment
• A/B testing of new features and
functionality
• Capture performance metrics of
new release during early adoption
Cons
• Management and maintenance of
multiple versions of the software
• Maintain persistent sessions
during deployment
• Database must support two
versions of the application (until
cut-over is complete)
Pros
• No downtime of production
environment
• Quick access to a backup
environment – hot standby
• Ability to test application in a
production environment
Cons
• Requires two similar environments
• Maintain persistent sessions
during deployment
• Database must support two
versions of the application (until
cut-over is complete)
Pros
• No downtime of production
environment
• Incrementally validate
deployments and reduce risk
• Reduce visibility of performance
degradation
• Seamless user experience
Cons
• Maintain persistent sessions
during deployment
• Database must support two
versions of the application (until
deployment is complete)
Your mission if you choose to accept it…
Measure your DevOps progress
• Deployment / Change Frequency
– Measures delivery team responsiveness, cohesiveness, capabilities, efficiency, & tooling
effectiveness
• Change Lead Time
– Measure efficiency of end to end development process; from first code change to deployment
– Measure cycle time of the individual activities
• Change Failure Rate
– How many deployment fail / number of deployments
• Mean Time To Recover (MTTR)
– How long does it take to recover from a failure
– Understand the contributors to failure:
• code complexity, number of app changes, number of operating environment changes
3
37IBM
_
September 16, 2015Shift Happens
Thank You

Mais conteúdo relacionado

Mais procurados

Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0IBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsIBM UrbanCode Products
 
Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarClaudia Ring
 
How NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsHow NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsSanjeev Sharma
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at ScaleIBM UrbanCode Products
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...IBM UrbanCode Products
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseIBM UrbanCode Products
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...Sanjeev Sharma
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixIBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsIBM UrbanCode Products
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudIBM UrbanCode Products
 
Enabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterEnabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterSanjeev Sharma
 
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecksUsing Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecksSanjeev Sharma
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best PracticesMichael Elder
 

Mais procurados (20)

Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0Product Overview: The New IBM UrbanCode Deploy 6.0
Product Overview: The New IBM UrbanCode Deploy 6.0
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
Fundamentals of Deploy and Release
Fundamentals of Deploy and ReleaseFundamentals of Deploy and Release
Fundamentals of Deploy and Release
 
Mastering DevOps Automation: Webinar
Mastering DevOps Automation: WebinarMastering DevOps Automation: Webinar
Mastering DevOps Automation: Webinar
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
How NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOpsHow NBCUniversal Adopted DevOps
How NBCUniversal Adopted DevOps
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with BluemixAdopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
Adopting DevOps in a Hybrid Cloud Featuring UrbanCode Deploy with Bluemix
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
 
Enabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterEnabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation Center
 
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecksUsing Lean Thinking to identify and address Delivery Pipeline bottlenecks
Using Lean Thinking to identify and address Delivery Pipeline bottlenecks
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
 

Semelhante a Shift Happens - Rapidly Rolling Forward During Production Failure

Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release StrategiesOpenSense Labs
 
Java deployments in an enterprise environment whitepaper - xebialabs
Java deployments in an enterprise environment   whitepaper - xebialabsJava deployments in an enterprise environment   whitepaper - xebialabs
Java deployments in an enterprise environment whitepaper - xebialabsXebiaLabs
 
Intro To Continuous Delivery
Intro To Continuous DeliveryIntro To Continuous Delivery
Intro To Continuous DeliveryBhanu Musunooru
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101Sanjeev Sharma
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release AutomationJules Pierre-Louis
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Deliveryalkhan50
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automationopkey
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMasas Dani
 
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs
 
The Evolution from Agile to DevOps
The Evolution from Agile to DevOpsThe Evolution from Agile to DevOps
The Evolution from Agile to DevOpsXMPlify Tech
 
Achieving observability-in-modern-applications
Achieving observability-in-modern-applicationsAchieving observability-in-modern-applications
Achieving observability-in-modern-applicationsJulio Antúnez Tarín
 
8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps Efforts8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps EffortsLucy Zeniffer
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps OverviewSagar Mody
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps TourChef
 
Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015XebiaLabs
 

Semelhante a Shift Happens - Rapidly Rolling Forward During Production Failure (20)

Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release Strategies
 
Java deployments in an enterprise environment whitepaper - xebialabs
Java deployments in an enterprise environment   whitepaper - xebialabsJava deployments in an enterprise environment   whitepaper - xebialabs
Java deployments in an enterprise environment whitepaper - xebialabs
 
Intro To Continuous Delivery
Intro To Continuous DeliveryIntro To Continuous Delivery
Intro To Continuous Delivery
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
 
The Evolution of Application Release Automation
The Evolution of Application Release AutomationThe Evolution of Application Release Automation
The Evolution of Application Release Automation
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
White-Paper-Continuous-Delivery
White-Paper-Continuous-DeliveryWhite-Paper-Continuous-Delivery
White-Paper-Continuous-Delivery
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automation
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
 
Best practices in release management
Best  practices in release managementBest  practices in release management
Best practices in release management
 
The Evolution from Agile to DevOps
The Evolution from Agile to DevOpsThe Evolution from Agile to DevOps
The Evolution from Agile to DevOps
 
Achieving observability-in-modern-applications
Achieving observability-in-modern-applicationsAchieving observability-in-modern-applications
Achieving observability-in-modern-applications
 
8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps Efforts8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps Efforts
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
 
Automation, Audits, and Apps Tour
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
 
Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015Dawn of the DevOps - TJ Randall - EMC World 2015
Dawn of the DevOps - TJ Randall - EMC World 2015
 

Mais de IBM UrbanCode Products

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9IBM UrbanCode Products
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeployIBM UrbanCode Products
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapIBM UrbanCode Products
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilIBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployIBM UrbanCode Products
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 
Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015IBM UrbanCode Products
 
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksUsing Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksIBM UrbanCode Products
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesIBM UrbanCode Products
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...IBM UrbanCode Products
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...IBM UrbanCode Products
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation IBM UrbanCode Products
 

Mais de IBM UrbanCode Products (16)

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015Release and Deploy Sessions at IBM InterConnect 2015
Release and Deploy Sessions at IBM InterConnect 2015
 
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksUsing Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...Helping Organizations Realize the Value of DevOps with Continuous Software De...
Helping Organizations Realize the Value of DevOps with Continuous Software De...
 
Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...Leading DevOps Application Release and Deployment - Best Practices for Organi...
Leading DevOps Application Release and Deployment - Best Practices for Organi...
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 

Último

Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 

Último (20)

Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

Shift Happens - Rapidly Rolling Forward During Production Failure

  • 1. 1IBM _ Chapter Opening September 16, 2015Presentation Title Shift Happens Continually moving forward when the outcome looks bleak @Al_Wagner
  • 2. 2IBM _ Avoiding Deployment Failures.. especially those that could cause a production outage, is top of mind for many IT professionals. However, sometimes failures will occur in production, which means that planning for recovery is essential. Preventative measures like canary, blue/green or rolling deployments can help, but also having the ability to roll forward (instead of rolling back), also known as shifting right, means you can push through a failure while learning from deployment process mistakes and shortening mean time to recovery (MTTR). • Deployment models like canary, blue/green and rolling that can help prevent major production outages • How to pinpoint deployment failures in your process and correct them • Pulling together a basic failure response plan • How you can roll forward while improving your deployment process September 16, 2015Shift Happens
  • 4. DevOps is all about executing with speed! Line-of- business Customer Getting ideas into production fast – Getting people to use it – Analyzing their feedback Continuous Delivery Continuous Feedback Continuous Innovation
  • 5. • Reducing Scope ü Small batches of incremental changes • Empowering Resources ü Co-located, automatous teams • Accelerating Schedules ü Automate, automate, automate • Increasing Quality ü Everyone contributes ü Small batches of incremental changes ü Co-located, automatous teams, collaboration ü Continuous release & deployment ü Everyone contributes 5 Managing the Iron Triangle by… Quality Schedule Scope Resources
  • 7. Traditional software deployments Web Server App Server Database Server Web Server App Server Database Server Users Environment #1 Environment #2 Load Balancer New deployment is tested 1. Servers taken off-line 2. New release is deployed & tested The clock is ticking! Software Deployment
  • 8. Traditional software deployments Web Server App Server Database Server App Server Database Server Users Environment #1 Environment #2 Load Balancer New version of application 1. Servers taken off-line 2. New release is deployed & tested 3. Servers brought back on-line Web Server
  • 9. Manual deployments are error prone 9 One wrong move and it can all
  • 10. And when disaster strikes! You need to know… What failed? Where did it fail? What apps were impacted? Should I move traffic to another server? Do we go forward or rollback? If you fail to plan; you plan to fail! Why did it fail?
  • 11. During the post mortem, you need to uncover… Did anything trigger the deployment failure? What was the root cause of the failure? What could we have done differently to avoid this situation? How can we improve so it doesn’t happen again?
  • 12. Accelerate delivery of incremental software change Failures due to inconsistent dev and production environments Bottlenecks trying to deliver more frequent releases to meet market demands Complex, manual, processes for release lack repeatability and speed Poor visibility into dependencies across releases, resources, and teams
  • 13. Accelerate delivery of incremental software change Failures due to inconsistent dev and production environments Bottlenecks trying to deliver more frequent releases to meet market demands Complex, manual, processes for release lack repeatability and speed Poor visibility into dependencies across releases, resources, and teams The Four Pillars of Gold-Standard Deployment • Use the same process ü Reduces deployment errors • Automate, automate, automate ü Deliver repeatability, reliability, & with traceability • Deliver incremental changes ü Reduces risk to business • Release what you test ü Increases confidence
  • 14. Automate provisioning and deployments SCM Build Automation Publish build Pull changes IBM Cloud Orchestrator IBM PureApplication System IBM Cloud Manager with OpenStack IBM Bluemix Provision environment with open patterns Public: Shared off premises cloud Dedicated: off premises cloud Local: Dedicated on premises cloud Traditional IT ü Traceable VMWare vCenter ü Repeatableü Reliable IBM UrbanCode Deploy Automate deployment to hybrid environments
  • 15. IBM Cloud UrbanCode Deploy as a Service Develop Build Mobile Device Mainframe Traditional Deploy Features of the new SaaS offering • Full automated application delivery capabilities • Hosted on IBM infrastructure, managed by IBM • Monthly subscription, license managed by IBM • Full product support App App App App SoftLayer, AWS, Azure App IBM Cloud UrbanCode Deploy NEW!
  • 16. 16Page© 2016 IBM Corporation IBM UrbanCode Release for release management 1 ü No more release week-end parties: Coordinate stakeholders, orchestrate deployment activities, enforce qualification process with relevant workflow and quality gates, get necessary approvals prior getting to production. Make releases predictable and boring! ü Reduced down time: Eliminate wasted time, orchestrate large & complex releases involving several hundred applications, and hundreds of stakeholders. ü Reduced time to market with continuous delivery releases: Accelerate release frequency with distributed release management for small scope frequent releases delivered by application teams Make releases predictable and boring!
  • 17. IBM UrbanCode Release & Deploy iOS mobile app ü Monitor Progress: Understand the overall progress of your releases and remaining work. Get real time calculations of the projected completion time ü Alert for Critical issues: See critical data of late tasks and idling tasks so you can encounter problems and mitigate business risks. ü Understand team status: Learn from teams what they are blocked by to take the right corrective actions https://itunes.apple.com/ca/app/ibm-urbancode-release-deploy/id1084753666?mt=8
  • 18. Shift right and continuously move forward Accelerate releases by making a conscious decision to carry an acceptable level of … …into PRODUCTION!
  • 19. Dark Launches & Toggles • Feature toggle - restricts access to source code in development until ready for release to end users if “work_in_progress” { develop new functionality here } else { already deployed as production code }; • Business toggle – control user or group of user access to new functionality if “beta_usergroup” { provide access to new experiment } else { route user to existing production code }; ü Pros New experiments can quickly be made available to groups of trusted users X Cons Increase in technical debt as ”toggle” code needs to be managed
  • 20. Zero downtime deployment strategies Canary Release Blue/Green Deployments Rolling Deployments a technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody. a release technique that reduces downtime and risk by running two identical production environments called Blue and Green. At any time, only one of the environments is live, with the live environment serving all production traffic. a software release strategy that staggers deployment across multiple phases, which usually include one or more servers performing one or more functions within a server cluster to reduce application downtime.
  • 21. Canary Releases (example flow) Web Server App Server Database Server Web Server App Server Database Server Users Old Version Old Version 50% of Users Load Balancer 50% of Users
  • 22. Canary Releases (example flow) Web Server App Server Database Server Web Server App Server Database Server Users Old Version New Version All Users Deployment AutomationInventory Load Balancer
  • 23. Canary Releases (example flow) Web Server App Server Database Server Web Server App Server Database Server Users Old Version New Version Most Users (95%) Some Users (5%) Deployment AutomationInventory Load Balancer As confidence in the new release increases, the percentage of users who have access is increased.
  • 24. Canary Releases (example flow) Web Server App Server Database Server Users Load Balancer Old Version Web Server App Server Database Server New Version All Users Deployment AutomationInventory Web Server App Server Database Server Web Server App Server Database Server New VersionNew Version Eventually the new version is deployed to the second environment.
  • 25. Canary Releases (example flow) Web Server App Server Database Server Users Load Balancer Old Version Web Server App Server Database Server New Version Web Server App Server Database Server Web Server App Server Database Server New VersionNew Version 50% of Users 50% of Users And the user load is split across the two environments.
  • 26. Blue / Green Deployments (example flow) Web Server App Server Database Server Web Server App Server Database Server Environment #1 RouterUsers All Users Two environments, each of sufficient resources to serve the application in production. Environment #2 Previous Release (hot stand-by)
  • 27. Blue / Green Deployments (example flow) Web Server App Server Database Server Web Server App Server Database Server Environment #1 Environment #2 RouterUsers All Users Two environments, each of sufficient resources to serve the application in production. Deployment AutomationInventory The new release is deployed to the idle environment.
  • 28. Blue / Green Deployments (example flow) Web Server App Server Database Server Web Server App Server Database Server Environment #1 RouterUsers All Users Two environments, each of sufficient resources to serve the application in production. Environment #2 Previous Release (hot stand-by) When the new deployment is working as expected, users are routed to the new version.
  • 29. Load Balancer Rolling Deployments (example flow) Web Server App Server Database Server Server Cluster #1 Web Server App Server Database Server Server Cluster #2 Web Server App Server Database Server Server Cluster #3 Web Server App Server Database Server Server Cluster #4 Users
  • 30. Rolling Deployments (example flow) Web Server App Server Database Server Server Cluster #1 Web Server App Server Database Server Server Cluster #2 Web Server App Server Database Server Server Cluster #3 Web Server App Server Database Server Server Cluster #4 Users Deployment AutomationInventory Load Balancer 1. Cluster #1 taken off-line 2. Application change deployed 3. Deployment tested
  • 31. Rolling Deployments (example flow) Web Server App Server Database Server Server Cluster #1 Web Server App Server Database Server Server Cluster #2 Web Server App Server Database Server Server Cluster #3 Web Server App Server Database Server Server Cluster #4 Users Deployment AutomationInventory Load Balancer 1. Cluster #1 brought back on-line 2. Cluster #2 is taken off-line 3. Application change deployed 4. Deployment tested
  • 32. Rolling Deployments (example flow) Web Server App Server Database Server Server Cluster #1 Web Server App Server Database Server Server Cluster #2 Web Server App Server Database Server Server Cluster #3 Web Server App Server Database Server Server Cluster #4 Users Deployment AutomationInventory Load Balancer 1. Cluster #3 brought back on-line 2. Cluster #3 & #4 is taken off-line 3. Application change deployed 4. Deployment tested
  • 33. Rolling Deployments (example flow) Web Server App Server Database Server Server Cluster #1 Web Server App Server Database Server Server Cluster #2 Web Server App Server Database Server Server Cluster #3 Web Server App Server Database Server Server Cluster #4 Users Load Balancer All environments are presenting the latest version of the application.
  • 34. Pros and Cons… Canary Release Blue/Green Deployments Rolling Deployments Pros • No downtime of production environment • Quick access to a backup environment • A/B testing of new features and functionality • Capture performance metrics of new release during early adoption Cons • Management and maintenance of multiple versions of the software • Maintain persistent sessions during deployment • Database must support two versions of the application (until cut-over is complete) Pros • No downtime of production environment • Quick access to a backup environment – hot standby • Ability to test application in a production environment Cons • Requires two similar environments • Maintain persistent sessions during deployment • Database must support two versions of the application (until cut-over is complete) Pros • No downtime of production environment • Incrementally validate deployments and reduce risk • Reduce visibility of performance degradation • Seamless user experience Cons • Maintain persistent sessions during deployment • Database must support two versions of the application (until deployment is complete)
  • 35. Your mission if you choose to accept it… Measure your DevOps progress • Deployment / Change Frequency – Measures delivery team responsiveness, cohesiveness, capabilities, efficiency, & tooling effectiveness • Change Lead Time – Measure efficiency of end to end development process; from first code change to deployment – Measure cycle time of the individual activities • Change Failure Rate – How many deployment fail / number of deployments • Mean Time To Recover (MTTR) – How long does it take to recover from a failure – Understand the contributors to failure: • code complexity, number of app changes, number of operating environment changes
  • 36. 3
  • 37. 37IBM _ September 16, 2015Shift Happens Thank You