Preparing	
  for	
  Enterprise	
  Con0nuous	
  Delivery	
  
Andrew	
  Phillips,	
  XebiaLabs	
  
•  VP Products for XebiaLabs
•  Lots of enterprise software development on high-
performance systems
•  Been on both sides of the “Dev…Ops” fence
•  Active open source contributor and committer:
jclouds, Akka, Gradle and others
•  Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
•  Regular meetup, conference etc. presenter
A Bit About Me…
Our flagship product, Deployit, is a market-leading
Application Release Automation platform.
o  Headquartered in Boston, Massachusetts
o  Global development and support offices in
US, EMEA and APAC
Benefits include:
o  Reduce development applications costs
o  Accelerate application time to market
o  Bridge the gap between Development and Operations
About XebiaLabs
•  Everybody’s Going CD
•  Lightning CD Recap
•  Enterprise Challenges
•  5 Steps on the Way to CD
•  A CD Maturity Model
•  Common Automation Stack
Agenda
Using GoToWebinar
Questions?
Submit via the control panel at any time
during the presentation.
“Continuous delivery is a set of patterns and best
practices that can help software teams
dramatically improve the pace and quality of
their software delivery.”
Everybody’s Going CD
o  Why?
Everybody’s Going CD
o  Why?
o  It’s fun
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
o  All the cool kids do it
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
o  All the cool kids do it
o  It accelerates time to market
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
o  All the cool kids do it
o  It accelerates time to market
o  All of the above
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
o  All the cool kids do it
o  It accelerates time to market
o  All of the above
Everybody’s Going CD
o  Why?
o  It’s fun
o  It’s cool
o  All the cool kids do it
o  It accelerates time to market
o  All of the above
Everybody’s Going CD
“Our highest priority is to satisfy the customer through
early and continuous delivery of valuable
software.”
Lightning Recap
“Our highest priority is to satisfy the customer through
early and continuous delivery of valuable
software.”
Lightning Recap
“Our highest priority is to satisfy the customer through
early and continuous delivery of valuable
software.”
Principle #1 from the Agile Manifesto
Lightning Recap
Value of code in repo vs.
Value of code in use by customer
Lightning Recap
Value of code in repo vs.
Value of code in use by customer
Lightning Recap
Value of code in repo vs.
Value of code in use by customer
Lightning Recap
Value of code in repo vs.
Value of code in use by customer
Lightning Recap
Value of code in repo vs.
Value of code in use by customer
Lightning Recap
Enterprise Challenges
o  Large, monolithic applications
o  Low levels of automation
o  Contended environments
o  Release Management requirements
o  …
Enterprise Challenges
5 Steps on the Way
5 Steps on the Way
+ =
5 Steps on the Way
o  We move one uniquely identified deliverable
through the pipeline
o  Needs to contain all the items considered part
of the delivered version
o  Application binaries
o  Database changes
o  Configuration files
o  Server settings
o  Dependencies
o  …
1. Complete Delivery Artifact
o  This might sound self-evident, but…
o  …it’s harder to do than it appears
o  Environment-specific builds?
o  Configuration settings requested via change
tickets?
o  Smoke tests present only in the testers’ notes/
heads?
1. Complete Delivery Artifact
o  Break down your pipeline into tasks
o  For each task, define
o  Owner
o  Input
o  Output
o  Triggers
o  Prerequisites/gates
o  Success/failure criteria
o  Failure handling
2. Pipeline Stage Checklist
o  Checklists determine sequence and
parallelization of stages
o  Knowledge/confidence level/quality
measurements are also output!
o  Think about feedback cycles (“if this task fails,
how can I learn from that?”)
2. Pipeline Stage Checklist
o  In general, smaller tasks = faster runtime
o  Basic upper limit:
throughput ≤ 1 / (duration of longest task)
o  Are your long-running tasks providing “value for
runtime”?
3. Manageable Units of Work
o  To run pipeline jobs (= “workers”)
o  To run applications (= “environments”)
4. Scalable Capacity
o  To run pipeline jobs (= “workers”)
o  To run applications (= “environments”)
o  Would like on-demand capacity quickly
o  Investigate cloud-based services
4. Scalable Capacity
o  Automation isn’t a prerequisite for CD…
o  …but it’s pretty much essential
o  Can you reliably execute your manual task at
the required frequency with the desired level of
throughput?
5. Automation, Automation, Automation
o  Automation isn’t a prerequisite for CD…
o  …but it’s pretty much essential
o  Can you reliably execute your manual task at
the required frequency with the desired level of
throughput?
5. Automation, Automation, Automation
o  Think about
o  Build automation
o  Unit Test automation
o  Deployment automation
o  Integration/Performance/UA Test automation
o  Automated metrics gathering
o  Automated feedback cycles
5. Automation, Automation, Automation
o  Pipeline tasks and stages don’t just run and
produce log output…
o  …they also have “side effects”
o  Creating and destroying on-demand environments
o  Updating of versions of applications deployed to
(testing, mainly) environments
o  Updating the “confidence measure” of the
application version being tested
o  …
6. “Side Effect” Overview
o  Don’t want to have to “re-engineer” the state
of your IT landscape based on the progress of
pipeline jobs
o  More commonly-used domain model helps
present business-relevant information
6. “Side Effect” Overview
o  Later pipeline stages affect tightly-controlled
environments
o  Release Management requirements must be met
o  Can link this to prerequisites/gates for tasks
7. Release Control
o  How to automate gates to avoid a manual
bottleneck?
o  How to ensure (automated) quality/security
etc. measurements fulfill release requirements
o  “Fine-tuning the dial between throughput and
control”
7. Release Control
o  You (or your boss) don’t just want to feel things
are getting better…
o  …you need to know they are!
8. Improvement Metrics
o  Sample metrics:
o  Throughput?
o  Failure rate?
o  Standardization coefficient
o  Mean & stddev of duration per task/stage?
o  Max/min duration per task/stage?
o  # of manual tasks?
8. Improvement Metrics
Summary
1.  Complete Delivery Artifact
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
4.  Scalable Capacity
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
4.  Scalable Capacity
5.  Automation, Automation, Automation
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
4.  Scalable Capacity
5.  Automation, Automation, Automation
6.  “Side Effect” Overview
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
4.  Scalable Capacity
5.  Automation, Automation, Automation
6.  “Side Effect” Overview
7.  Release Control
Summary
1.  Complete Delivery Artifact
2.  Pipeline Stage Checklist
3.  Manageable Units of Work
4.  Scalable Capacity
5.  Automation, Automation, Automation
6.  “Side Effect” Overview
7.  Release Control
8.  Improvement Metrics
Summary
o  Metrics give indication of progress
o  Define a maturity model based on your business
goals
o  Will often spans more than “classic”
automation: from requirements gathering to
runtime application and quality analysis
o  Feedback cycles essential to targeted
improvements
Maturity Model
Common Automation Stack
Private / Public Cloud
Environment Provisioning & Configuration
App
1.0
Dev Test 1 Test 2 QA1 QA2 PROD
Build
App
2.1
App
2.0
App
1.2
TestDeployit
Release
Bonus: Lightning Demo!
Using GoToWebinar
Questions?
Submit via the control panel at any time
during the presentation.
o  Application Release Trends 2013 Survey
o  go.xebialabs.com/Survey2013.htm
o  Dzone Refcard: “Preparing for Continuous Delivery”
o  refcardz.dzone.com/refcardz/preparing-continuous-delivery
o  “Best Practice for Continuous Delivery Automation”
o  go.xebialabs.com/best-practice-cda.html
o  Continuous Delivery Automation
o  www.xebialabs.com/continuous-delivery
More Info
Questions?
Submit your questions now. If we don’t get
to yours, we’ll personally respond.
Thank You!
CONTACT DETAILS
o  Andrew Phillips: aphillips at xebialabs dot com
NEXT STEPS
o  More information: www.xebialabs.com
GET STARTED
o  Deployit Trial: www.xebialabs.com/trial
Deployit: www.xebialabs.com/products
Blog: blog.xebialabs.com
Twitter: @xebialabs
YouTube: youtube.com/xebialabs
STAY INFORMED

Preparing for Enterprise Continuous Delivery - 5 Critical Steps

  • 1.
    Preparing  for  Enterprise  Con0nuous  Delivery   Andrew  Phillips,  XebiaLabs  
  • 2.
    •  VP Productsfor XebiaLabs •  Lots of enterprise software development on high- performance systems •  Been on both sides of the “Dev…Ops” fence •  Active open source contributor and committer: jclouds, Akka, Gradle and others •  Cloud, PaaS & JVM language fan (mainly Scala, Clojure) •  Regular meetup, conference etc. presenter A Bit About Me…
  • 3.
    Our flagship product,Deployit, is a market-leading Application Release Automation platform. o  Headquartered in Boston, Massachusetts o  Global development and support offices in US, EMEA and APAC Benefits include: o  Reduce development applications costs o  Accelerate application time to market o  Bridge the gap between Development and Operations About XebiaLabs
  • 4.
    •  Everybody’s GoingCD •  Lightning CD Recap •  Enterprise Challenges •  5 Steps on the Way to CD •  A CD Maturity Model •  Common Automation Stack Agenda
  • 5.
    Using GoToWebinar Questions? Submit viathe control panel at any time during the presentation.
  • 6.
    “Continuous delivery isa set of patterns and best practices that can help software teams dramatically improve the pace and quality of their software delivery.”
  • 7.
  • 8.
  • 9.
    o  Why? o  It’sfun Everybody’s Going CD
  • 10.
    o  Why? o  It’sfun o  It’s cool Everybody’s Going CD
  • 11.
    o  Why? o  It’sfun o  It’s cool o  All the cool kids do it Everybody’s Going CD
  • 12.
    o  Why? o  It’sfun o  It’s cool o  All the cool kids do it o  It accelerates time to market Everybody’s Going CD
  • 13.
    o  Why? o  It’sfun o  It’s cool o  All the cool kids do it o  It accelerates time to market o  All of the above Everybody’s Going CD
  • 14.
    o  Why? o  It’sfun o  It’s cool o  All the cool kids do it o  It accelerates time to market o  All of the above Everybody’s Going CD
  • 15.
    o  Why? o  It’sfun o  It’s cool o  All the cool kids do it o  It accelerates time to market o  All of the above Everybody’s Going CD
  • 16.
    “Our highest priorityis to satisfy the customer through early and continuous delivery of valuable software.” Lightning Recap
  • 17.
    “Our highest priorityis to satisfy the customer through early and continuous delivery of valuable software.” Lightning Recap
  • 18.
    “Our highest priorityis to satisfy the customer through early and continuous delivery of valuable software.” Principle #1 from the Agile Manifesto Lightning Recap
  • 19.
    Value of codein repo vs. Value of code in use by customer Lightning Recap
  • 20.
    Value of codein repo vs. Value of code in use by customer Lightning Recap
  • 21.
    Value of codein repo vs. Value of code in use by customer Lightning Recap
  • 22.
    Value of codein repo vs. Value of code in use by customer Lightning Recap
  • 23.
    Value of codein repo vs. Value of code in use by customer Lightning Recap
  • 24.
  • 25.
    o  Large, monolithicapplications o  Low levels of automation o  Contended environments o  Release Management requirements o  … Enterprise Challenges
  • 26.
    5 Steps onthe Way
  • 27.
    5 Steps onthe Way
  • 28.
    + = 5 Stepson the Way
  • 29.
    o  We moveone uniquely identified deliverable through the pipeline o  Needs to contain all the items considered part of the delivered version o  Application binaries o  Database changes o  Configuration files o  Server settings o  Dependencies o  … 1. Complete Delivery Artifact
  • 30.
    o  This mightsound self-evident, but… o  …it’s harder to do than it appears o  Environment-specific builds? o  Configuration settings requested via change tickets? o  Smoke tests present only in the testers’ notes/ heads? 1. Complete Delivery Artifact
  • 31.
    o  Break downyour pipeline into tasks o  For each task, define o  Owner o  Input o  Output o  Triggers o  Prerequisites/gates o  Success/failure criteria o  Failure handling 2. Pipeline Stage Checklist
  • 32.
    o  Checklists determinesequence and parallelization of stages o  Knowledge/confidence level/quality measurements are also output! o  Think about feedback cycles (“if this task fails, how can I learn from that?”) 2. Pipeline Stage Checklist
  • 33.
    o  In general,smaller tasks = faster runtime o  Basic upper limit: throughput ≤ 1 / (duration of longest task) o  Are your long-running tasks providing “value for runtime”? 3. Manageable Units of Work
  • 34.
    o  To runpipeline jobs (= “workers”) o  To run applications (= “environments”) 4. Scalable Capacity
  • 35.
    o  To runpipeline jobs (= “workers”) o  To run applications (= “environments”) o  Would like on-demand capacity quickly o  Investigate cloud-based services 4. Scalable Capacity
  • 36.
    o  Automation isn’ta prerequisite for CD… o  …but it’s pretty much essential o  Can you reliably execute your manual task at the required frequency with the desired level of throughput? 5. Automation, Automation, Automation
  • 37.
    o  Automation isn’ta prerequisite for CD… o  …but it’s pretty much essential o  Can you reliably execute your manual task at the required frequency with the desired level of throughput? 5. Automation, Automation, Automation
  • 38.
    o  Think about o Build automation o  Unit Test automation o  Deployment automation o  Integration/Performance/UA Test automation o  Automated metrics gathering o  Automated feedback cycles 5. Automation, Automation, Automation
  • 39.
    o  Pipeline tasksand stages don’t just run and produce log output… o  …they also have “side effects” o  Creating and destroying on-demand environments o  Updating of versions of applications deployed to (testing, mainly) environments o  Updating the “confidence measure” of the application version being tested o  … 6. “Side Effect” Overview
  • 40.
    o  Don’t wantto have to “re-engineer” the state of your IT landscape based on the progress of pipeline jobs o  More commonly-used domain model helps present business-relevant information 6. “Side Effect” Overview
  • 41.
    o  Later pipelinestages affect tightly-controlled environments o  Release Management requirements must be met o  Can link this to prerequisites/gates for tasks 7. Release Control
  • 42.
    o  How toautomate gates to avoid a manual bottleneck? o  How to ensure (automated) quality/security etc. measurements fulfill release requirements o  “Fine-tuning the dial between throughput and control” 7. Release Control
  • 43.
    o  You (oryour boss) don’t just want to feel things are getting better… o  …you need to know they are! 8. Improvement Metrics
  • 44.
    o  Sample metrics: o Throughput? o  Failure rate? o  Standardization coefficient o  Mean & stddev of duration per task/stage? o  Max/min duration per task/stage? o  # of manual tasks? 8. Improvement Metrics
  • 45.
  • 46.
    1.  Complete DeliveryArtifact Summary
  • 47.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist Summary
  • 48.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work Summary
  • 49.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity Summary
  • 50.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation Summary
  • 51.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation 6.  “Side Effect” Overview Summary
  • 52.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation 6.  “Side Effect” Overview 7.  Release Control Summary
  • 53.
    1.  Complete DeliveryArtifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation 6.  “Side Effect” Overview 7.  Release Control 8.  Improvement Metrics Summary
  • 54.
    o  Metrics giveindication of progress o  Define a maturity model based on your business goals o  Will often spans more than “classic” automation: from requirements gathering to runtime application and quality analysis o  Feedback cycles essential to targeted improvements Maturity Model
  • 55.
    Common Automation Stack Private/ Public Cloud Environment Provisioning & Configuration App 1.0 Dev Test 1 Test 2 QA1 QA2 PROD Build App 2.1 App 2.0 App 1.2 TestDeployit Release
  • 56.
  • 57.
    Using GoToWebinar Questions? Submit viathe control panel at any time during the presentation.
  • 58.
    o  Application ReleaseTrends 2013 Survey o  go.xebialabs.com/Survey2013.htm o  Dzone Refcard: “Preparing for Continuous Delivery” o  refcardz.dzone.com/refcardz/preparing-continuous-delivery o  “Best Practice for Continuous Delivery Automation” o  go.xebialabs.com/best-practice-cda.html o  Continuous Delivery Automation o  www.xebialabs.com/continuous-delivery More Info
  • 59.
    Questions? Submit your questionsnow. If we don’t get to yours, we’ll personally respond.
  • 60.
    Thank You! CONTACT DETAILS o Andrew Phillips: aphillips at xebialabs dot com NEXT STEPS o  More information: www.xebialabs.com GET STARTED o  Deployit Trial: www.xebialabs.com/trial Deployit: www.xebialabs.com/products Blog: blog.xebialabs.com Twitter: @xebialabs YouTube: youtube.com/xebialabs STAY INFORMED