Continuous Delivery: Responding to Change Faster Than Ever Before - SDEC14

Mike Bowler
Mike BowlerCoach and Trainer at Gargoyle Software Inc.
Continuous Delivery 
Responding to change, faster 
than ever before 
Mike Bowler @mike_bowler 
Thank you to our Sponsors 
Media Sponsor:
2 
“Continuous delivery is a 
software development 
discipline where you build 
software in such a way that 
the software can be released 
to production at any time.” 
Martin Fowler
“A key test is that a business 
sponsor could request that the 
current development version of 
the software can be deployed 
into production at a moments 
notice - and nobody would bat an 
eyelid, let alone panic.” 
Martin Fowler 
3
4 
Why would we 
want to do that?
Agile manifesto says…. 
“Our highest priority is to satisfy 
the customer through early and 
continuous delivery of valuable 
software.” 
“Deliver working software 
frequently, from a couple of weeks 
to a couple of months, with a 
preference to the shorter timescale.” 
5
How far can we 
push that? 
• In 2011, Amazon was deploying to production 
every 11.6 seconds 
• In 2013, Github deployed to production almost 
11,000 times (About 42 times/business day) 
• In 2013, Shopify deployed to production 
~1,835 times (About 7 times/business day) 
• Today, Etsy deploys 50+ times a day 
• Today, Netflix deploys “hundreds of times a 
day” 
6
“Wait a minute! My 
company doesn’t want 
to deploy that often!” 
important is that 
you CAN deliver that fast 
important is What’s
How to make it work… 
8
9 
Extreme 
quality 
Automate & 
Streamline 
Feature 
flags 
Monitoring 
Continuous 
Delivery 
Whole team & alerts
Digging deeper, we find…. 
10 
Continuous 
Delivery 
Individuals 
Courage 
Pride of work 
Design 
Agile modeling 
Evolutionary design 
Simple design 
Usability 
Engaged people 
Continuous improvement 
Sustainable pace 
Regular retrospectives 
Executable specifications 
ATDD 
BDD 
TDD 
Exploratory testing 
Functional 
Performance 
Incremental development 
Pair programming 
Refactoring 
Dev Team 
Configuration management 
Version control 
Frequent check-ins 
Single codebase 
Dependency management 
Cross-functional teams 
High communication 
Co-located teams 
Daily standups 
Shared understanding 
Coding standards 
Collective code ownership 
Informational workspace 
Simple architecture 
Small Stories 
Whole 
Team 
Automation 
DB migration Continuous integration 
One click deploy 
One click rollback 
Zero downtime deploy 
Configuration management 
Provisioning 
Cluster immune 
system 
Common Goal 
Feature flags 
Measurements 
Comparative testing 
Stress testing 
Alerts Monitoring 
Planning 
Capacity 
Compliance 
Scalability 
Rapid Feedback 
© 2013 Gargoyle Software Inc
CD Pipeline 
11
12 
What about more 
complicated 
environments?
HP does continuous 
delivery for printer 
drivers, including 
running tests against 
physical hardware. 
13
APPLYING IT AT SCALE 
“Each Facebook data center operations 
staffer can manage at least 20,000 
servers, and for some admins the 
number can be as high as 26,000 
systems” 
14 
— Delfina Eberly 
Director of Data Center Operations, Facebook 
November 2013
CD on the Mainframe 
15
INTEGRATION AT GOOGLE SCALE 
In 2010, Google had… 
• 5000+ developers 
• 20+ changes per minute 
• 50% code base changes every month 
• 50 million automated tests run every day 
• Single branch, across five languages 
• Development on head; all releases from source 
• Each check-in isolated from all others 
http://google-engtools.blogspot.ca/2011/05/welcome-to-google-engineering-tools.html 
16
Deploy to 
production 
Verify expected 
behaviour 
Compile and 
Package 
Pull from 
master branch 
Monitoring and 
Alerts 
Rollbacks on 
error 
Production
Verify expected 
behaviour 
Compile and 
Package 
Pull from 
Amy’s branch 
Deploy to production 
Monitoring and 
Alerts 
Rollbacks on 
error 
Production 
Verify expected behaviour 
Compile and package 
Merge with master branch 
One branch 
per developer 
Merge with local 
copy of master 
Verify expected 
behaviour 
Compile and 
Package 
Merge with local 
copy of master 
Pull from 
Bob’s branch 
Verify expected 
behaviour 
Compile and 
Package 
Merge with local 
copy of master 
Pull from 
Carol’s branch
19 
Extreme 
quality 
Automate & 
Streamline 
Feature 
flags 
Monitoring 
Continuous 
Delivery 
Whole team & alerts
TOOLING 
20
MORE READING
CONTACTING ME 
Mike Bowler 
Agile & Technical Coach 
mbowler@GargoyleSoftware.com 
Cell: 905 409-7052 
Twitter: @mike_bowler 
Other links for me on Facebook, Google+ etc at 
http://www.GargoyleSoftware.com/mike_bowler
HANDOUTS
Mike Bowler 
Agile & Technical Coach 
(905) 409-7052 
mbowler@GargoyleSoftware.com 
@mike_bowler 
Pillars of Continuous Delivery 
1) Extreme Quality 
2) Automate & Streamline 
3) Feature Flags 
4) Monitoring & Alerts 
5) Whole Team
1 of 24

Recommended

Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~ by
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~Akira Inoue
699 views43 slides
Selenium and Continuous Intergration by
Selenium and Continuous IntergrationSelenium and Continuous Intergration
Selenium and Continuous Intergrationautomated-testing.info
303 views20 slides
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand Replay by
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand ReplayA Customer's Journey to Mainstreaming the Mainframe Webcast On-demand Replay
A Customer's Journey to Mainstreaming the Mainframe Webcast On-demand ReplayCompuware
395 views32 slides
App center an overview by
App center  an overviewApp center  an overview
App center an overviewMicrosoft Azure Japan
1.4K views28 slides
Introduction to Puppet Enterprise 03-31-2016 by
Introduction to Puppet Enterprise 03-31-2016Introduction to Puppet Enterprise 03-31-2016
Introduction to Puppet Enterprise 03-31-2016Puppet
588 views18 slides
Introduction to Puppet Enterprise 2016.1 by
Introduction to Puppet Enterprise 2016.1Introduction to Puppet Enterprise 2016.1
Introduction to Puppet Enterprise 2016.1Puppet
583 views18 slides

More Related Content

What's hot

Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All? by
Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?
Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?Compuware
296 views18 slides
Continuous integration by
Continuous integrationContinuous integration
Continuous integrationAbhay Kumar
225 views6 slides
DevOps Shangri-La: Mystical Claims of Paradise by
DevOps Shangri-La: Mystical Claims of ParadiseDevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of ParadiseXebiaLabs
498 views29 slides
Dev ops by
Dev opsDev ops
Dev opsTomas Riha
1.6K views38 slides
Continuous delivery by
Continuous deliveryContinuous delivery
Continuous deliveryLeonardo Gamas
563 views31 slides
Super Charge your Product Development via the Use of DevOps by
Super Charge your Product Development via the Use of DevOpsSuper Charge your Product Development via the Use of DevOps
Super Charge your Product Development via the Use of DevOpsSpyros Lambrinidis
205 views22 slides

What's hot(20)

Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All? by Compuware
Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?
Don’t Settle for Old-school SCM: Fail Faster? How about Don’t Fail at All?
Compuware296 views
Continuous integration by Abhay Kumar
Continuous integrationContinuous integration
Continuous integration
Abhay Kumar225 views
DevOps Shangri-La: Mystical Claims of Paradise by XebiaLabs
DevOps Shangri-La: Mystical Claims of ParadiseDevOps Shangri-La: Mystical Claims of Paradise
DevOps Shangri-La: Mystical Claims of Paradise
XebiaLabs498 views
Super Charge your Product Development via the Use of DevOps by Spyros Lambrinidis
Super Charge your Product Development via the Use of DevOpsSuper Charge your Product Development via the Use of DevOps
Super Charge your Product Development via the Use of DevOps
Spyros Lambrinidis205 views
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS by Solidify
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
Solidify 3.1K views
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native by Klaus Enzenhofer
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeFrom 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
Klaus Enzenhofer372 views
What's New in Puppet Enterprise 2015.3 by Puppet
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
Puppet775 views
Browser Vendors are Reshaping Testing - Are You Ready? by SmartBear
Browser Vendors are Reshaping Testing - Are You Ready?Browser Vendors are Reshaping Testing - Are You Ready?
Browser Vendors are Reshaping Testing - Are You Ready?
SmartBear664 views
Microsoft app center by Suki Huang
Microsoft app centerMicrosoft app center
Microsoft app center
Suki Huang377 views
Fundamental Concepts of DevOps by Kiril Serebnik
Fundamental Concepts of DevOpsFundamental Concepts of DevOps
Fundamental Concepts of DevOps
Kiril Serebnik300 views
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut... by QASymphony
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
QASymphony 171 views
Quality Jam 2017: Kevin Dunne "Macro Trends and Useful Tools that 'Get It'" by QASymphony
Quality Jam 2017: Kevin Dunne "Macro Trends and Useful Tools that 'Get It'"Quality Jam 2017: Kevin Dunne "Macro Trends and Useful Tools that 'Get It'"
Quality Jam 2017: Kevin Dunne "Macro Trends and Useful Tools that 'Get It'"
QASymphony 364 views
Introduction to DevSecOps OWASP Ahmedabad by kunwaratul hax0r
Introduction to DevSecOps OWASP AhmedabadIntroduction to DevSecOps OWASP Ahmedabad
Introduction to DevSecOps OWASP Ahmedabad
kunwaratul hax0r105 views
Technical Capabilities as enabler for Agile and DevOps by Nelis Boucké
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOps
Nelis Boucké485 views
From the sandbox to production by Vadym Fedorov
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
Vadym Fedorov415 views

Similar to Continuous Delivery: Responding to Change Faster Than Ever Before - SDEC14

Scaling Your DevOps with Chef (December 15th 2016) by
Scaling Your DevOps with Chef (December 15th 2016)Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)Anthony Hodson
372 views35 slides
Agile & DevOps - It's all about project success by
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
344 views96 slides
DevOps Overview in my own words by
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
303 views14 slides
Innovate Better Through Machine data Analytics by
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsHal Rottenberg
263 views65 slides
AMIS 25: DevOps Best Practice for Oracle SOA and BPM by
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMMatt Wright
3K views45 slides
Achieving Elite and High Performance DevOps Using DORA Metrics by
Achieving Elite and High Performance DevOps Using DORA MetricsAchieving Elite and High Performance DevOps Using DORA Metrics
Achieving Elite and High Performance DevOps Using DORA MetricsAggregage
325 views32 slides

Similar to Continuous Delivery: Responding to Change Faster Than Ever Before - SDEC14(20)

Scaling Your DevOps with Chef (December 15th 2016) by Anthony Hodson
Scaling Your DevOps with Chef (December 15th 2016)Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)
Anthony Hodson372 views
Agile & DevOps - It's all about project success by Adam Stephensen
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen344 views
Innovate Better Through Machine data Analytics by Hal Rottenberg
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
Hal Rottenberg263 views
AMIS 25: DevOps Best Practice for Oracle SOA and BPM by Matt Wright
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
Matt Wright3K views
Achieving Elite and High Performance DevOps Using DORA Metrics by Aggregage
Achieving Elite and High Performance DevOps Using DORA MetricsAchieving Elite and High Performance DevOps Using DORA Metrics
Achieving Elite and High Performance DevOps Using DORA Metrics
Aggregage325 views
SplunkLive! London 2016 Splunk for Devops by Splunk
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for Devops
Splunk653 views
Continuous Delivery for Agile Teams by Mike Bowler
Continuous Delivery for Agile TeamsContinuous Delivery for Agile Teams
Continuous Delivery for Agile Teams
Mike Bowler1.1K views
How Azure DevOps can boost your organization's productivity by Ivan Porta
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
Ivan Porta224 views
Drupal Continuous Integration and devops - Beyond Jenkins by Promet Source
Drupal Continuous Integration and devops - Beyond JenkinsDrupal Continuous Integration and devops - Beyond Jenkins
Drupal Continuous Integration and devops - Beyond Jenkins
Promet Source1.8K views
Continuous testing & devops with @petemar5hall by Peter Marshall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
Peter Marshall1.2K views
Enterprise DevOps and the Modern Mainframe Webcast Presentation by Compuware
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Compuware744 views
The Rationale for Continuous Delivery (The culture and practice of good softw... by C4Media
The Rationale for Continuous Delivery (The culture and practice of good softw...The Rationale for Continuous Delivery (The culture and practice of good softw...
The Rationale for Continuous Delivery (The culture and practice of good softw...
C4Media906 views
Microsoft DevOps Solution - DevOps by Chetan Gordhan
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
Chetan Gordhan709 views
DevOps - Understanding Core Concepts (Old) by Nitin Bhide
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
Nitin Bhide3.2K views
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments by Peter Marshall
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy Environments
Peter Marshall809 views
IBM Innovate - Uderstanding DevOps by Sanjeev Sharma
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
Sanjeev Sharma8.6K views
"Software Quality in the Service of Innovation in the Insurance Industry" by Applitools
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
Applitools1.8K views

More from Mike Bowler

Retrospective Magic - Toronto Agile Conference by
Retrospective Magic - Toronto Agile ConferenceRetrospective Magic - Toronto Agile Conference
Retrospective Magic - Toronto Agile ConferenceMike Bowler
173 views40 slides
Retrospective science by
Retrospective scienceRetrospective science
Retrospective scienceMike Bowler
275 views10 slides
Brain Talk: More effective conversations through clean language by
Brain Talk: More effective conversations through clean languageBrain Talk: More effective conversations through clean language
Brain Talk: More effective conversations through clean languageMike Bowler
541 views18 slides
Inside Enumerable by
Inside EnumerableInside Enumerable
Inside EnumerableMike Bowler
955 views29 slides
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me... by
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...Mike Bowler
1.2K views12 slides
Date Once by
Date OnceDate Once
Date OnceMike Bowler
506 views27 slides

More from Mike Bowler(7)

Retrospective Magic - Toronto Agile Conference by Mike Bowler
Retrospective Magic - Toronto Agile ConferenceRetrospective Magic - Toronto Agile Conference
Retrospective Magic - Toronto Agile Conference
Mike Bowler173 views
Retrospective science by Mike Bowler
Retrospective scienceRetrospective science
Retrospective science
Mike Bowler275 views
Brain Talk: More effective conversations through clean language by Mike Bowler
Brain Talk: More effective conversations through clean languageBrain Talk: More effective conversations through clean language
Brain Talk: More effective conversations through clean language
Mike Bowler541 views
Inside Enumerable by Mike Bowler
Inside EnumerableInside Enumerable
Inside Enumerable
Mike Bowler955 views
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me... by Mike Bowler
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...
Exploring the magic behind dynamic finders: diving into ActiveRecord::Base.me...
Mike Bowler1.2K views
Ruby For Java Programmers by Mike Bowler
Ruby For Java ProgrammersRuby For Java Programmers
Ruby For Java Programmers
Mike Bowler7.6K views

Recently uploaded

Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Donato Onofri
795 views34 slides
Software testing company in India.pptx by
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptxSakshiPatel82
7 views9 slides
SUGCON ANZ Presentation V2.1 Final.pptx by
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptxJack Spektor
22 views34 slides
HarshithAkkapelli_Presentation.pdf by
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 views16 slides
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 views15 slides
DevsRank by
DevsRankDevsRank
DevsRankdevsrank786
11 views1 slide

Recently uploaded(20)

Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri795 views
Software testing company in India.pptx by SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares14 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik5 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions

Continuous Delivery: Responding to Change Faster Than Ever Before - SDEC14

  • 1. Continuous Delivery Responding to change, faster than ever before Mike Bowler @mike_bowler Thank you to our Sponsors Media Sponsor:
  • 2. 2 “Continuous delivery is a software development discipline where you build software in such a way that the software can be released to production at any time.” Martin Fowler
  • 3. “A key test is that a business sponsor could request that the current development version of the software can be deployed into production at a moments notice - and nobody would bat an eyelid, let alone panic.” Martin Fowler 3
  • 4. 4 Why would we want to do that?
  • 5. Agile manifesto says…. “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” 5
  • 6. How far can we push that? • In 2011, Amazon was deploying to production every 11.6 seconds • In 2013, Github deployed to production almost 11,000 times (About 42 times/business day) • In 2013, Shopify deployed to production ~1,835 times (About 7 times/business day) • Today, Etsy deploys 50+ times a day • Today, Netflix deploys “hundreds of times a day” 6
  • 7. “Wait a minute! My company doesn’t want to deploy that often!” important is that you CAN deliver that fast important is What’s
  • 8. How to make it work… 8
  • 9. 9 Extreme quality Automate & Streamline Feature flags Monitoring Continuous Delivery Whole team & alerts
  • 10. Digging deeper, we find…. 10 Continuous Delivery Individuals Courage Pride of work Design Agile modeling Evolutionary design Simple design Usability Engaged people Continuous improvement Sustainable pace Regular retrospectives Executable specifications ATDD BDD TDD Exploratory testing Functional Performance Incremental development Pair programming Refactoring Dev Team Configuration management Version control Frequent check-ins Single codebase Dependency management Cross-functional teams High communication Co-located teams Daily standups Shared understanding Coding standards Collective code ownership Informational workspace Simple architecture Small Stories Whole Team Automation DB migration Continuous integration One click deploy One click rollback Zero downtime deploy Configuration management Provisioning Cluster immune system Common Goal Feature flags Measurements Comparative testing Stress testing Alerts Monitoring Planning Capacity Compliance Scalability Rapid Feedback © 2013 Gargoyle Software Inc
  • 12. 12 What about more complicated environments?
  • 13. HP does continuous delivery for printer drivers, including running tests against physical hardware. 13
  • 14. APPLYING IT AT SCALE “Each Facebook data center operations staffer can manage at least 20,000 servers, and for some admins the number can be as high as 26,000 systems” 14 — Delfina Eberly Director of Data Center Operations, Facebook November 2013
  • 15. CD on the Mainframe 15
  • 16. INTEGRATION AT GOOGLE SCALE In 2010, Google had… • 5000+ developers • 20+ changes per minute • 50% code base changes every month • 50 million automated tests run every day • Single branch, across five languages • Development on head; all releases from source • Each check-in isolated from all others http://google-engtools.blogspot.ca/2011/05/welcome-to-google-engineering-tools.html 16
  • 17. Deploy to production Verify expected behaviour Compile and Package Pull from master branch Monitoring and Alerts Rollbacks on error Production
  • 18. Verify expected behaviour Compile and Package Pull from Amy’s branch Deploy to production Monitoring and Alerts Rollbacks on error Production Verify expected behaviour Compile and package Merge with master branch One branch per developer Merge with local copy of master Verify expected behaviour Compile and Package Merge with local copy of master Pull from Bob’s branch Verify expected behaviour Compile and Package Merge with local copy of master Pull from Carol’s branch
  • 19. 19 Extreme quality Automate & Streamline Feature flags Monitoring Continuous Delivery Whole team & alerts
  • 22. CONTACTING ME Mike Bowler Agile & Technical Coach mbowler@GargoyleSoftware.com Cell: 905 409-7052 Twitter: @mike_bowler Other links for me on Facebook, Google+ etc at http://www.GargoyleSoftware.com/mike_bowler
  • 24. Mike Bowler Agile & Technical Coach (905) 409-7052 mbowler@GargoyleSoftware.com @mike_bowler Pillars of Continuous Delivery 1) Extreme Quality 2) Automate & Streamline 3) Feature Flags 4) Monitoring & Alerts 5) Whole Team