Your SlideShare is downloading. ×
  • Like
  • Save

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Critical Steps

  • 2,611 views
Published

Slides from JUC - Palo Alto conference session: http://www.cloudbees.com/jenkins/juc2013/juc2013-palo-alto-abstracts.cb#AndrewPhillips …

Slides from JUC - Palo Alto conference session: http://www.cloudbees.com/jenkins/juc2013/juc2013-palo-alto-abstracts.cb#AndrewPhillips

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,611
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Preparing for Enterprise Continuous Delivery: 5 Critical Steps Andrew Phillips XebiaLabs www.xebialabs.com @jenkinsconf @xebialabs
  • 2. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf A Bit About Me… !   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
  • 3. Jenkins User Conference Palo Alto , Oct 23 2013 About XebiaLabs o  Headquartered in Boston, Massachusetts o  Global development and support offices in US, NL, UK, France and India Automate & Accelerate Application Delivery The XL platform combines Build, Deployment, Provisioning and Delivery Automation to help enterprises deliver higher quality software faster. o  Reduce development applications costs o  Accelerate application time to market o  Bridge the gap between Development and Operations @jenkinsconf
  • 4. Jenkins User Conference Palo Alto , Oct 23 2013 Agenda !   Everybody’s Going CD !   Lightning CD Recap !   Enterprise Challenges !   5 Steps on the Way to CD !   A CD Maturity Model !   Common Automation Stack @jenkinsconf
  • 5. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf "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."
  • 6. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD @jenkinsconf
  • 7. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? @jenkinsconf
  • 8. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun @jenkinsconf
  • 9. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool @jenkinsconf
  • 10. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool !   All the cool kids do it @jenkinsconf
  • 11. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool !   All the cool kids do it !   It accelerates time to market @jenkinsconf
  • 12. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool !   All the cool kids do it !   It accelerates time to market !   All of the above @jenkinsconf
  • 13. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool !   All the cool kids do it !   It accelerates time to market !   All of the above @jenkinsconf
  • 14. Jenkins User Conference Palo Alto , Oct 23 2013 Everybody’s Going CD !   Why? !   It’s fun !   It’s cool !   All the cool kids do it !   It accelerates time to market !   All of the above @jenkinsconf
  • 15. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Lightning Recap "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."
  • 16. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Lightning Recap "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."
  • 17. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Lightning Recap "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.“ Principle #1 from the Agile Manifesto
  • 18. Jenkins User Conference Palo Alto , Oct 23 2013 Lightning Recap Value of code in repo vs. Value of code in use by customer @jenkinsconf
  • 19. Jenkins User Conference Palo Alto , Oct 23 2013 Lightning Recap Value of code in repo vs. Value of code in use by customer @jenkinsconf
  • 20. Jenkins User Conference Palo Alto , Oct 23 2013 Lightning Recap Value of code in repo vs. Value of code in use by customer @jenkinsconf
  • 21. Jenkins User Conference Palo Alto , Oct 23 2013 Lightning Recap Value of code in repo vs. Value of code in use by customer @jenkinsconf
  • 22. Jenkins User Conference Palo Alto , Oct 23 2013 Lightning Recap Value of code in repo vs. Value of code in use by customer @jenkinsconf
  • 23. Jenkins User Conference Palo Alto , Oct 23 2013 Enterprise Challenges @jenkinsconf
  • 24. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Enterprise Challenges !   Large, monolithic applications !   Low levels of automation !   Contended environments !   Release Management requirements !  …
  • 25. Jenkins User Conference Palo Alto , Oct 23 2013 5 Steps on the Way @jenkinsconf
  • 26. Jenkins User Conference Palo Alto , Oct 23 2013 5 Steps on the Way @jenkinsconf
  • 27. Jenkins User Conference Palo Alto , Oct 23 2013 5 Steps on the Way + = @jenkinsconf
  • 28. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 1. Complete Delivery Artifact !   We move one uniquely identified deliverable through the pipeline !   Needs to contain all the items considered part of the delivered version –  Application binaries –  Database changes –  Configuration files –  Server settings –  Dependencies
  • 29. Jenkins User Conference Palo Alto , Oct 23 2013 1. Complete Delivery Artifact !   This might sound self-evident, but… !   …it's harder to do than it appears –  Environment-specific builds? –  Configuration settings requested via change tickets? –  Smoke tests present only in the testers' notes/heads? @jenkinsconf
  • 30. Jenkins User Conference Palo Alto , Oct 23 2013 2. Pipeline Stage Checklist !   Break down your pipeline into tasks !   For each task, define –  Owner –  Input –  Output –  Triggers –  Prerequisites/gates –  Success/failure criteria –  Failure handling @jenkinsconf
  • 31. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 2. Pipeline Stage Checklist !   Checklists determine sequence and parallelization of stages !   Knowledge/confidence level/quality measurements are also output! !   Think about feedback cycles ("if this task fails, how can I learn from that?")
  • 32. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 3. Manageable Units of Work !   In general, smaller tasks = faster runtime !   Basic upper limit: throughput = 1 / (duration of longest task) !   Are your long-running tasks providing “value for runtime”?
  • 33. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 4. Scalable Capacity !   To run pipeline jobs (= "workers") !   To run applications (= "environments“)
  • 34. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 4. Scalable Capacity !   To run pipeline jobs (= "workers") !   To run applications (= "environments") !   Would like on-demand capacity quickly !   Investigate cloud-based services
  • 35. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 5. Automation, Automation, Automation !   Automation isn’t a prerequisite for CD… !   …but it’s pretty much essential !   Can you reliably execute your manual task at the required frequency with the desired level of throughput?
  • 36. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 5. Automation, Automation, Automation !   Automation isn’t a prerequisite for CD… !   …but it’s pretty much essential !   Can you reliably execute your manual task at the required frequency with the desired level of throughput?
  • 37. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 5. Automation, Automation, Automation !   Think about –  Build automation –  Unit Test automation –  Deployment automation –  Integration/Performance/UA Test automation –  Automated metrics gathering –  Automated feedback cycles
  • 38. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 6. "Side Effect" Overview !   Pipeline tasks and stages don’t just run and produce log output… !   …they also have “side effects” –  Creating and destroying on-demand environments –  Updating of versions of applications deployed to (testing, mainly) environments –  Updating the “confidence measure” of the application version being tested
  • 39. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 6. "Side Effect" Overview !   Don’t want to have to "re-engineer" the state of your IT landscape based on the progress of pipeline jobs !   More commonly-used domain model helps present business-relevant information
  • 40. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 7. Release Control !   Later pipeline stages affect tightly-controlled environments !   Release Management requirements must be met !   Can link this to prerequisites/gates for tasks
  • 41. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 7. Release Control !   How to automate gates to avoid a manual bottleneck? !   How to ensure (automated) quality/security etc. measurements fulfil release requirements !   "Fine-tuning the dial between throughput and control"
  • 42. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf 8. Improvement Metrics !   You (or your boss) don’t just want to feel things are getting better… !   …you need to know they are!
  • 43. Jenkins User Conference Palo Alto , Oct 23 2013 8. Improvement Metrics !   Sample metrics: –  Throughput? –  Failure rate? –  Standardization coefficient –  Mean & stddev of duration per task/stage? –  Max/min duration per task/stage? –  # of manual tasks? @jenkinsconf
  • 44. Jenkins User Conference Palo Alto , Oct 23 2013 Summary 1.  Complete Delivery Artifact @jenkinsconf
  • 45. Jenkins User Conference Palo Alto , Oct 23 2013 Summary 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist @jenkinsconf
  • 46. Jenkins User Conference Palo Alto , Oct 23 2013 Summary 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work @jenkinsconf
  • 47. Jenkins User Conference Palo Alto , Oct 23 2013 Summary 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity @jenkinsconf
  • 48. Jenkins User Conference Palo Alto , Oct 23 2013 Summary 1.  Complete Delivery Artifact 2.  Pipeline Stage Checklist 3.  Manageable Units of Work 4.  Scalable Capacity 5.  Automation, Automation, Automation @jenkinsconf
  • 49. Jenkins User Conference Palo Alto , Oct 23 2013 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 @jenkinsconf
  • 50. Jenkins User Conference Palo Alto , Oct 23 2013 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 @jenkinsconf
  • 51. Jenkins User Conference Palo Alto , Oct 23 2013 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 @jenkinsconf
  • 52. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf Maturity Model !   Metrics give indication of progress !   Define a maturity model based on your business goals !   Will often spans more than "classic" automation: from requirements gathering to runtime application and quality analysis !   Feedback cycles essential to targeted improvements
  • 53. Jenkins User Conference Palo Alto , Oct 23 2013 Common Automation Stack @jenkinsconf
  • 54. Jenkins User Conference Palo Alto , Oct 23 2013 Bonus: Lightning Demo! @jenkinsconf
  • 55. Jenkins User Conference Palo Alto , Oct 23 2013 Thank You To Our Sponsors Platinum Gold Silver @jenkinsconf
  • 56. Jenkins User Conference Palo Alto , Oct 23 2013 @jenkinsconf More Info !   Application Release Trends 2013 Survey –  go.xebialabs.com/Survey2013.htm ! Dzone Refcard: “Preparing for Continuous Delivery” –  refcardz.dzone.com/refcardz/preparing-continuous-delivery !   “Best Practice for Continuous Delivery Automation” –  go.xebialabs.com/best-practice-cda.html !   Continuous Delivery Automation –  www.xebialabs.com/continuous-delivery
  • 57. Jenkins User Conference Palo Alto , Oct 23 2013 Thank You! CONTACT DETAILS !   Andrew Phillips: aphillips at xebialabs dot com NEXT STEPS !   More information: www.xebialabs.com GET STARTED !   Try it out! www.xebialabs.com/trial Products: www.xebialabs.com/products Blog: blog.xebialabs.com Twitter: @xebialabs Videos: vimeo.com/xebialabs @jenkinsconf