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.

Why Release Automation Matters


Published on

Have you ever wondered what is Application Release Automation (ARA) and why it matters? In today's fast-moving world of DevOps, we need ARA more than ever to take control over complexity to deliver a great workflow that can unite teams at different speeds in the enterprise.
These slides go over why, when and how ARA may apply to your enterprise.

Published in: Software
  • Be the first to comment

Why Release Automation Matters

  1. 1. Application Release Automation Why ARA matters
  2. 2. ARA manages Dev-to-Ops transition What is ARA? Application Release Automation Take control over all delivery orchestration and collaboration activities and deployment workflows DEV OPS DevOps Track Release Code Deploy BuildThe application delivery workflow | Application Release Automation2
  3. 3. The World without ARA DEV OPS DevOps DevOps DevOps DevOps can run in silos But without ARA there’s no system visibility. It’s ok, as long as systems can be release independently, which usually is not the case. | Application Release Automation3
  4. 4. With ARA: Unify delivery pipelines DEV OPS Release DeployARA ARA orchestrates all delivery activities from Dev and Ops, improving collaboration and coordination | Application Release Automation4
  5. 5. When to use ARA? Release automation is not a silver bullet for every delivery workflow Release Automation Continuous Deployment | Application Release Automation5
  6. 6. The ARA “Sweet Spot” Continuous Delivery Continuous Deployment Automatically deploy every passing build to production Manual releases Most automatedLeast automated Least Frequent Most Frequent Short cycle releasing The ARA sweet spotRequire people to intervene at almost all release stages | Application Release Automation6
  7. 7. ARA Drives Continuous Delivery Continuous Delivery Continuous Deployment Manual releases Release automation is ideal to implement continuous delivery practices ARA helps orchestrating silos and simplify business delivery ARA is the catalyst to move away from manual releases Release Automation Helps overcome obstacles for making releasing safer, more frequent and fully automated | Application Release Automation7
  8. 8. When to use ARA? When releases require planning and involving many stakeholders and their tools | Application Release Automation8
  9. 9. When to use ARA? When deploying every build is not an option due to environment or business constraints | Application Release Automation9
  10. 10. When to use ARA? Coordination is necessary since applications and (micro)services depend on each other | Application Release Automation10
  11. 11. When to use ARA? Intricate deployments, with many architectures or systems that may need failover control, rollbacks etc. | Application Release Automation11
  12. 12. When to use ARA? Don’t use ARA if… Ø You deploy every successful build Ø No deployment dependencies between different apps or services Ø Deployments are dead simple: push the change, restart the service | Application Release Automation12
  13. 13. ARA Responsibilities Dependency Management Release Orchestration Deployment Provision | Application Release Automation13
  14. 14. Dependency Management | Application Release Automation14
  15. 15. Dependency management Resolving application dependencies is a great driver for implementing ARA | Application Release Automation15
  16. 16. Application Dependencies It’s nearly impossible to deploy coherently from application silos with many interconnected dependencies Who deploys first? When to redeploy? How to roll-back? ? ? ? | Application Release Automation16
  17. 17. ARA Resolves Dependencies ARA resolves application and component dependencies elegantly by running them as a single integrated deployment “transaction” Who deploys first? When to redeploy? How to roll-back? | Application Release Automation17
  18. 18. Dependency Management Dependency management is a key feature of ARA. So we know what and how to release changes that span multiple applications. APP2 APP1 ARA manages application dependencies Salesforce APP3 PRODSTAGQA | Application Release Automation18
  19. 19. ARA Responsibilities › Application and component dependencies › Version management › Build and/or package releases Dependency Management | Application Release Automation19
  20. 20. Release Orchestration | Application Release Automation20
  21. 21. Release Orchestration Even for a single application, releasing may involve many activities. PRODSTAGQA Manual steps, validation Deployment, provisioning Orchestration of related tools and services | Application Release Automation21 ARA orchestrates releases
  22. 22. Understanding Release Orchestration Container orchestration is a great analogy for understanding the need for release orchestration | Application Release Automation22
  23. 23. Understanding Release Orchestration Containers are like delivery silos: They have trouble cooperating to deliver as a unified system. | Application Release Automation23
  24. 24. Container & Release Orchestration Container orchestration is a great analogy for ARA RELEASE AUTOMATION CONTAINER ORCHESTRATION Containers themselves would have a hard time cooperating and scaling without orchestration tools like Kubernetes or Docker Swarm. The same applies to delivery pipelines. Try to deploy many applications and technologies coherently without ARA orchestration. It can become a real time waster. APP DB LIB QA PROD BUILD VM AWS WIN | Application Release Automation24
  25. 25. ARA Responsibilities › Streamline all deployed technologies › Integrate with related applications › Update external systems › Give visibility Release Orchestration | Application Release Automation25
  26. 26. Deployment & Provisioning | Application Release Automation26
  27. 27. ARA Responsibilities › Run deployment pipelines and workflows › Control concurrency › Configure environments › Backup, Rollback › Phased Deployments › Feature switch control › Provision infrastructure Deployment & Provisioning | Application Release Automation27
  28. 28. ARA delivers many benefits… Insight Get immediate feedback back to Dev teams. Measure results that help improve overall confidence and experimentation. Transparency Help the Dev and Ops teams understand the full release process across different teams and services. Single Point of Delivery Fully implemented ARA helps DevOps materialize into a fully automated delivery workflow that improves speed and quality. | Application Release Automation28
  29. 29. Get with the program! Start your move to more frequent releases ü Move away from manual activities ü Have releases that are always ready to deploy ü Streamline your toolchain with 1-click deploys ü Empower Dev to deploy ü More frequent releases enables lean practices: feel free to experiment | Application Release Automation29
  30. 30. For more information visit Thank you!