• Save
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
 

Like this? Share it with your network

Share

Preparing for Enterprise Continuous Delivery - 5 Critical Steps

on

  • 1,137 views

Slides from the July 31st, 2013 webinar "Preparing for Enterprise Continuous Delivery - 5 Critical Steps" by XebiaLabs

Slides from the July 31st, 2013 webinar "Preparing for Enterprise Continuous Delivery - 5 Critical Steps" by XebiaLabs

Statistics

Views

Total Views
1,137
Views on SlideShare
1,137
Embed Views
0

Actions

Likes
3
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Preparing for Enterprise Continuous Delivery - 5 Critical Steps Presentation Transcript

  • 1. Preparing  for  Enterprise  Con0nuous  Delivery   Andrew  Phillips,  XebiaLabs  
  • 2. •  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…
  • 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 Going CD •  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 via the control panel at any time during the presentation.
  • 6. “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.”
  • 7. Everybody’s Going CD
  • 8. o  Why? Everybody’s Going CD
  • 9. o  Why? o  It’s fun Everybody’s Going CD
  • 10. o  Why? o  It’s fun o  It’s cool Everybody’s Going CD
  • 11. o  Why? o  It’s fun o  It’s cool o  All the cool kids do it Everybody’s Going CD
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Lightning Recap
  • 17. “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Lightning Recap
  • 18. “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Principle #1 from the Agile Manifesto Lightning Recap
  • 19. Value of code in repo vs. Value of code in use by customer Lightning Recap
  • 20. Value of code in repo vs. Value of code in use by customer Lightning Recap
  • 21. Value of code in repo vs. Value of code in use by customer Lightning Recap
  • 22. Value of code in repo vs. Value of code in use by customer Lightning Recap
  • 23. Value of code in repo vs. Value of code in use by customer Lightning Recap
  • 24. Enterprise Challenges
  • 25. o  Large, monolithic applications o  Low levels of automation o  Contended environments o  Release Management requirements o  … Enterprise Challenges
  • 26. 5 Steps on the Way
  • 27. 5 Steps on the Way
  • 28. + = 5 Steps on the Way
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 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 run pipeline jobs (= “workers”) o  To run applications (= “environments”) 4. Scalable Capacity
  • 35. 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
  • 36. 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
  • 37. 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
  • 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 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 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. Summary
  • 46. 1.  Complete Delivery Artifact Summary
  • 47. 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist Summary
  • 48. 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work Summary
  • 49. 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity Summary
  • 50. 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation Summary
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. 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
  • 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. Bonus: Lightning Demo!
  • 57. Using GoToWebinar Questions? Submit via the control panel at any time during the presentation.
  • 58. 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
  • 59. Questions? Submit your questions now. 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