The Next Level of Agile: DevOps and Continuous Delivery

2,456 views

Published on

Slides from XebiaLabs' session at Agile SQE 2012: "The Next Level of Agile: DevOps and Continuous Delivery". See http://www.sqe.com/AgileDevPracticesEast/Concurrent/Default.aspx?Date=11/8/2012#AT11

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,456
On SlideShare
0
From Embeds
0
Number of Embeds
259
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

The Next Level of Agile: DevOps and Continuous Delivery

  1. 1. The Next Level of Agile:DevOps & Continuous Delivery
  2. 2. SpeakerAndrew Phillips, VP Products, XebiaLabsAndrew is VP of Products for XebiaLabs, providers of the industry-leadingrelease automation solution, Deployit. Andrew is a cloud, service deliveryand automation expert and has been part of the shift to moreautomated application delivery platforms. Sitting on panels and drivingblog and social media conversations, Andrew regularly contributes to keytrend-defining technology discussions.
  3. 3. Our Company. Our Product.o Headquartered in Boston, Massachusettso Global development and support offices in NL, UK, France and IndiaOur flagship product, Deployit, is a market-leadingApplication Release Automation platform.Benefits include:o Reduce development applications costso Accelerate application time to marketo Bridge the gap between Development and Operations
  4. 4. Agenda• Agile hits the Delivery Wall• Continuous Delivery & DevOps• Agile Automation Landscape: Best Practices• A Case Study• Demo• Q&A
  5. 5. Agile: Made for Today’s Delivery Challenge• Competitive market situation• IT services key differentiating factor for many industries• Pressure to get new types of services out to market quickly• Pressure to get more and more features in existing services to market• Adoption curve bears out the significance of Agile
  6. 6. The Promise of Agile• Principle #1 of the Agile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” agilemanifesto.org/principles.html
  7. 7. How Much Delivery?• Deliver production-ready software at the end of every iteration...• How many organisations actually deploy this software to production?• What is the business value of unreleased software?
  8. 8. The Delivery Wall• In practice, many organisations are hitting a “delivery wall” Unit test Deploy toDevelop Check in Package Smoke Test Dev Integration Acceptance Deploy to Deploy to Test Test Deploy to QA Test Prod Value
  9. 9. The Delivery Wall• In practice, many organisations are hitting a “delivery wall” Unit test Deploy toDevelop Check in Package Smoke Test Dev Integration Acceptance Deploy to Deploy to Test Test Deploy to QA Test Prod Value
  10. 10. The Delivery Wall• In practice, many organisations are hitting a “delivery wall” Unit test Deploy toDevelop Check in Package Smoke Test Dev Integration Acceptance Deploy to Deploy to Test Test Deploy to QA Test Prod Value
  11. 11. The Delivery Wall• Wall is often related to increasing release effort and control due to more complex environments and release management processes Unit test Deploy toDevelop Check in Package Smoke Test Dev Integration Acceptance Deploy to Deploy to Test Test Deploy to QA Test Prod Value
  12. 12. Removing the Wall• In order to realise principle #1 of the Agile Manifesto, we need to eliminate The Wall• Key initiatives: Continuous Delivery & DevOps• Set deployment to production as the goal
  13. 13. Continuous Delivery• Why stop with continuous code integration and unit testing?• Build a delivery pipeline!
  14. 14. DevOps• Project teams need to be able to truly take the project from end to end•Development & Operations competencies and responsibilities shared andcommunicated throughout the project lifecycle Unit test Deploy toDevelop Check in Package Smoke Test Dev Integration Acceptance Deploy to Deploy to Test Test Deploy to QA Test Prod Value
  15. 15. Continuous Delivery, DevOps & Automation• Continuous Delivery & DevOps are processes – really, mindsets• You cant “do CD” or “do DevOps” just by installing some big toolsuite• Manual and error-prone processes key part of the bottleneck•Automation (testing, deployment, environment provisioning etc.)essential part of the solution picture
  16. 16. “The RM Challenge”•Key challenge: how to combine increased “flow to production”with standards-based Release Management processes?• Can our current processes support the flow in their current form?• Can we automate certain Release Management requirements?• Can we trust automated Release Management requirements?
  17. 17. The Agile Automation LandscapeDev... ...Ops Build Integrate Deploy Test Deploy Value
  18. 18. The Agile Automation LandscapeDev... Build Integrate Deploy to Deploy Dev Smoke Test Deploy to Deploy Test Functional Test Deploy to Deploy QA Acceptance Test Go/No go Deploy to Deploy Prod Test Value ...Ops
  19. 19. The Agile Automation LandscapeDev... Build Integrate Deploy to Deploy Dev Smoke Test Continuous Integration Functional Deploy to Deploy Test Test Deploy to Deploy QA Acceptance Test Go/No go Deploy to Deploy Prod Test Value Deployment Automated Automated Automation Provisioning Testing ...Ops
  20. 20. The Agile Automation LandscapeDev... Build Integrate Deploy to Deploy Dev Smoke Test Continuous Integration Functional Deploy to Deploy Test Test Deploy to Deploy QA Acceptance Test Go/No go Deploy to Deploy Prod Test Value Deployment Automated Automated Automation Provisioning Testing ...Ops
  21. 21. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package
  22. 22. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package•Deployment Automation/Application Release Automation:distributing the components of the releasable package into yourtarget environment
  23. 23. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package•Deployment Automation/Application Release Automation:distributing the components of the releasable package into yourtarget environmentProvisioning: Creating and readying the target environment and•middleware required by your application
  24. 24. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package•Deployment Automation/Application Release Automation:distributing the components of the releasable package into yourtarget environmentProvisioning: Creating and readying the target environment and•middleware required by your application•Cloud Management: providing the “raw” virtual machineresources for provisioning
  25. 25. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package•Deployment Automation/Application Release Automation:distributing the components of the releasable package into yourtarget environmentProvisioning: Creating and readying the target environment and•middleware required by your application•Cloud Management: providing the “raw” virtual machineresources for provisioning•Automated Testing: verifying your applications functional andnon-functional behaviour
  26. 26. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)
  27. 27. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)• Dont look for a Silver Bullet
  28. 28. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)• Dont look for a Silver Bullet•All automation frameworks can run arbitrary sequences ofcommands...
  29. 29. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)• Dont look for a Silver Bullet•All automation frameworks can run arbitrary sequences ofcommands...•…but focus, design and especially out-of-the-box content/supportof each of the types of tool is quite distinct
  30. 30. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)• Dont look for a Silver Bullet•All automation frameworks can run arbitrary sequences ofcommands...•…but focus, design and especially out-of-the-box content/supportof each of the types of tool is quite distinct•Also, youre likely to have one or more of these tool types inhouse already
  31. 31. Things to Look for #1 Look for widely used products with broad communities  Technically challenging area, so only frequent use can flush out incompatibilities and bugs
  32. 32. Things to Look for #1 Look for widely used products with broad communities  Technically challenging area, so only frequent use can flush out incompatibilities and bugs Look for products with a plugin/content ecosystem  Not just for reuse, but also as “cookbooks” or guides
  33. 33. Things to Look for #1 Look for widely used products with broad communities  Technically challenging area, so only frequent use can flush out incompatibilities and bugs Look for products with a plugin/content ecosystem  Not just for reuse, but also as “cookbooks” or guides Look for integrations  You want freedom and options in combining these elements
  34. 34. Things to Look for #1 Look for widely used products with broad communities  Technically challenging area, so only frequent use can flush out incompatibilities and bugs Look for products with a plugin/content ecosystem  Not just for reuse, but also as “cookbooks” or guides Look for integrations  You want freedom and options in combining these elements Look for compatible security models  Auditing and control!
  35. 35. Things to Look for #1 Look for widely used products with broad communities  Technically challenging area, so only frequent use can flush out incompatibilities and bugs Look for products with a plugin/content ecosystem  Not just for reuse, but also as “cookbooks” or guides Look for integrations  You want freedom and options in combining these elements Look for compatible security models  Auditing and control! Watch out for platform support  Far more options for *nix systems that for Windows
  36. 36. Things to Look for #2 (Provisioning) Look for support for cloud (de facto) standards  e.g. EC2, OpenStack etc. for your coming public or hybrid cloud
  37. 37. Things to Look for #2 (Provisioning) Look for support for cloud (de facto) standards  e.g. EC2, OpenStack etc. for your coming public or hybrid cloud (Provisioning) Look for support for (de facto) VM standards  e.g. OVF, VMDK etc. for portability of your base images
  38. 38. Things to Look for #2 (Provisioning) Look for support for cloud (de facto) standards  e.g. EC2, OpenStack etc. for your coming public or hybrid cloud (Provisioning) Look for support for (de facto) VM standards  e.g. OVF, VMDK etc. for portability of your base images (Deployment Automation) Look for support for “vanilla” middleware images  So you can use the standard distributions without having to modify them e.g. by installing drivers or agents
  39. 39. Things to Look for #2 (Provisioning) Look for support for cloud (de facto) standards  e.g. EC2, OpenStack etc. for your coming public or hybrid cloud (Provisioning) Look for support for (de facto) VM standards  e.g. OVF, VMDK etc. for portability of your base images (Deployment Automation) Look for support for “vanilla” middleware images  So you can use the standard distributions without having to modify them e.g. by installing drivers or agents Look for release management hooks  Validations and updates
  40. 40. Things to Look for #2 (Provisioning) Look for support for cloud (de facto) standards  e.g. EC2, OpenStack etc. for your coming public or hybrid cloud (Provisioning) Look for support for (de facto) VM standards  e.g. OVF, VMDK etc. for portability of your base images (Deployment Automation) Look for support for “vanilla” middleware images  So you can use the standard distributions without having to modify them e.g. by installing drivers or agents Look for release management hooks  Validations and updates Look for model-based automation  Scalability in changing environment  Its not just about one pipeline!
  41. 41. A Case Study: Scenario• Government agency• Running on old platform with fading support• Usage conflicts due to large shared environment• Unknown or unreproducible configuration state• Deployments and tests throttled by environment instability
  42. 42. A Case Study• Decision: transition to modern DevOps platform• Goals  Standard configuration  Standardized provisioning  Standardized deployment  Centralized monitoring  Centralized access control  Virtual environment  Proven technology
  43. 43. A Case Study• Decision: transition to modern DevOps platform• Goals  Standard configuration  Standardized provisioning  Standardized deployment  Centralized monitoring  Centralized access control  Virtual environment  Proven technologyNote access control!
  44. 44. A Case Study: Solution Stack
  45. 45. A Case Study: Results• Significant cost saving to due increased automation and non-proprietary components• “private PaaS” deployment frontend• Eliminated environment availability bottleneck for testing• Reproducible environment configuration• Auto-scale capability through monitoring and adaptable deployment automation• End-to-end automation• Ability to verify deployments against Release ManagementMore information at http://tinyurl.com/7heh5ox
  46. 46. Demo Build& Deploy to Dev Deploy to TestQuality Build (Tomcat & MySQL) Functional Deploy to QA (JBoss & Test Oracle) Performance Deploy to Tests Prod
  47. 47. Demo
  48. 48. More Information Contact info@xebialabs.com for a 15min walkthrough of deployment automation in your Agile application landscapeDeployit: www.xebialabs.com/tourBlog: blog.xebialabs.comTwitter: @xebialabsYouTube: youtube.com/xebialabs
  49. 49. Questions?Deployit: www.xebialabs.com/tourBlog: blog.xebialabs.comTwitter: @xebialabsYouTube: youtube.com/xebialabs
  50. 50. Thank You! ThanksEnjoy sunny Florida!

×