Your SlideShare is downloading. ×

The Next Level of Agile: DevOps and Continuous Delivery

1,691
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

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
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,691
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
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. The Next Level of Agile:DevOps & Continuous Delivery
  • 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. 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. Agenda• Agile hits the Delivery Wall• Continuous Delivery & DevOps• Agile Automation Landscape: Best Practices• A Case Study• Demo• Q&A
  • 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. 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. 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. 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. 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. 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. 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. 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. Continuous Delivery• Why stop with continuous code integration and unit testing?• Build a delivery pipeline!
  • 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. 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. “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. The Agile Automation LandscapeDev... ...Ops Build Integrate Deploy Test Deploy Value
  • 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. 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. 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. Technical Elements of the Automation Landscape•Continuous Integration: building, testing and integrating yoursource code and creating a releasable package
  • 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. 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. 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. 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. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)
  • 27. Observations•Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)• Dont look for a Silver Bullet
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. A Case Study: Solution Stack
  • 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. Demo Build& Deploy to Dev Deploy to TestQuality Build (Tomcat & MySQL) Functional Deploy to QA (JBoss & Test Oracle) Performance Deploy to Tests Prod
  • 47. Demo
  • 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. Questions?Deployit: www.xebialabs.com/tourBlog: blog.xebialabs.comTwitter: @xebialabsYouTube: youtube.com/xebialabs
  • 50. Thank You! ThanksEnjoy sunny Florida!