Why release orchestration is essential for Continuous Delivery success
Automation provides consistency, repeatability, traceability and auditability. It allows enterprises to scale up quickly without an over-reliance on individuals. And it paves the way for a microservices approach, where different components can be integrated to create something new. But as automation has expanded into new areas, maintaining visibility and control as you speed up processes is a real challenge, especially where legacy applications are concerned.
Even in a largely automated pipeline, some manual steps probably still remain. You typically have a disparate group of tools solving individual pieces of the puzzle. You’ve got ticketing systems and backlog management, source code control, CI servers, testing products and everything else that goes into the release, operation, provisioning and deployment of your software.
Although it’s important that you pick the best of breed for each element of your process, without orchestration of all the pieces, a chaotic DevOps environment is the inevitable result. For example, you may still rely on manually creating documents to manage who is doing what and to keep track of when each part is due. Lack of visibility for business owners and support people may also be a problem, which means they’ll need you to answer feature requests and queries, or compliance and security questions because they can’t see for themselves what’s happening in the release process.
All the individual pieces of software you’re using, from CI to provisioning, or testing to code management, are like individual musicians in a symphony orchestra. They may be the most talented available in their role, but you need a conductor, namely an orchestrator, to bring them together and pull the best out of them. To make beautiful, harmonious music, the conductor must keep track of what’s going on at any given moment and maximize the contribution of each individual to the overall process.
For your CD pipeline, the conductor is release orchestration software, otherwise known as Application Release Automation (ARA).
The trouble with building on top
You may be tempted to build your own workflows to piece together the tools you already have, but that requires creating, and worse – maintaining – scripts every time something changes. Although scripting may be good for certain individual tasks, it’s useless when you try to scale as managing and tweaking scripts becomes unsustainable as you grow. For large enterprises, scalability is a major issue. You also need an audit trail and the ability to update security policies without major disruption, which is impossible to do using point tools.
Consider also that you’ll need visualization, intelligence and reporting capabilities. You simply can’t improve your processes, finding areas ripe for automation or improvement, without a clear picture of what happened when. And this oversight must be accessible to non-technical audiences. If business owners and support staff can delve into relevant metrics, there’s greater clarity all round, and people can focus on what will bring improvements.
Building your own integration and management platform is ambitious, risky and likely to be expensive and time-consuming. Those developers should be working on improving core products that deliver value to your customers, not the framework that delivers them.
What does release orchestration do?
Release orchestration represents an easy way to orchestrate, automate and manage your end-to-end software release pipelines without stopping you from taking full advantage of the unique blend of tools and practices you’ve developed and employed. You can model your software development and release process as a sequence of phases and steps. You can save models as templates and you can string them together however you see fit.
The end result is a complete pipeline that can be triggered at the push of a button. Something that handles all the interactions with external systems – testing, deployment, CI software like Jenkins, ticketing systems like JIRA – and presents a holistic view of progress. All stakeholders can see at a glance where the process is, what risks are developing, what’s working and what isn’t.
By adopting a plug-in architecture, you’re free to configure your pipeline and reporting to create a regular and consistent schedule for releases. Instead of loose API integrations, you’ll have a single coherent interface that cuts through the different formats and tracking methods to help you tame the chaos and exert control.
Release orchestration helps you to scale and fill in the gaps, whatever your CD pipeline looks like, enabling you to deliver better quality software to your customers faster than ever before.