Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Delivery


Published on

Continuous Delivery
What it takes to move to continuous integration and Continuous Delivery/Deployment model.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Continuous Delivery

  1. 1. Vishal Sahasrabuddhe
  2. 2. What we need to do • Source code • Builds • Deployments • QA CI release != deployment
  3. 3. The next step: From CI to Continuous Delivery
  4. 4. What is Continuous Delivery Its attitude to Make Software safe and to go fast
  5. 5. Begin with basic How much time it takes to deploy one line change or a small bug fix in to the production?
  6. 6. Why Need Continuous Delivery? • Speed Stop waiting around on each other • Quality – It raises the overall quality of your application – No surprises. • Capacity • Clarity – Get every team on one tool – Eliminate manual error
  7. 7. How
  8. 8. How Source Control Build Deployment QA Prod Ticketing System
  9. 9. Sample workflow
  10. 10. Speed is essential because there is an opportunity and cost associated with not delivering Software Frequent Releases • How Frequent is Frequent Why Developer need to wait after writing code? Everybuild can be potential Release candidate. Key area
  11. 11. Removing Manual Work/Steps. Move towards complete automation. Automation
  12. 12. Delivery Flow Build and Unit Dev Team Version Control Release Test QA Check in Check in Check in Trigger Trigger Trigger Trigger Trigger Feedback Feedback Feedback Approval
  13. 13. Ingredients Configuration Management continuous integration/ Automated Build Automated Deployment Automated testing
  14. 14. Dev Team • Collaboration • Integration is no longer an event • Check In Regularly • Make small frequent releases
  15. 15. Dev Team Big Change – Big risk – Big effort Small Change – Small risk – Small effort
  16. 16. QA team Complete automation Keep the Build and Test Process Short Let’s break the QA and do the QA frequently. Publish the report
  17. 17. Environment Complete Environment to test everything. Flexible and scalable Managed as prod Increasing Confidence in build’s production readiness reducing release risk
  18. 18. Blockers manual work, Lengthy Process ticket system approval
  19. 19. Blocker Do not add gates, add only checks Adding gates to prevent issues from creeping into prod is not so smart There are many more issues hiding, you just don’t know them
  20. 20. Approval Why do we need CAB? Dev Sign off QA sign off Dependency sign off Ops Sign off Infra sign off
  21. 21. Dev Sign off • Tracking Project mgmt tool (Jira). • Get everyone together at the beginning • Keep meeting across the team
  22. 22. QA Sign off • Consolidated QA report. • Definition of “Go Ahead”. • Minimum criteria for QA.
  23. 23. Ops, Dependency, Infra Sign off • Include them at the beginning of the project. • Get everyone together at the beginning • Keep meeting across the team
  24. 24. Ops QA Dev Product SCM/ Release Mgmt Continuous Delivery/Deplo yment
  25. 25. Source Code Support -Dev Build Setup Support - Dev Enabling QA Automation and reporting via Jenkins Support – QA and Dev Infrastructure for QA Support- Infra and QA, IDP Deployment Automation Support – Ops, Dev and QA CAB Automation and release planning Support – Release Mgmt SCM + Release
  26. 26. Continuous what? Continuous Delivery Continuous Deployment Continuous Integration commit = a build commit = shippable product commit = production release
  27. 27. Start Lets start with Continuous Delivery Review Extend it to Continuous Deployment