6 Sep, 2023 | 3 min read

Introducing Deployment Tracks in Choreo

  • Asitha Nanayakkara
  • Technical Lead - WSO2

Photo by MJH SHIKDER on Unsplash

As we continuously improve Choreo's capabilities, we're excited to introduce a significant new addition: Deployment Tracks. This empowers users to achieve backward-compatible API releases, ensuring a smoother experience for API publishers and API consumers alike.

This transition will entail minor user interface (UI) changes in the Choreo console for your existing components.

What Are Deployment Tracks?

Think of a Deployment Track as Choreo's equivalent of a CI/CD pipeline. Whether you're connecting source code or running pre-built images, Deployment Tracks act as the pathway for deploying your components into the right environments.

Deployment Tracks and intelligent routing make versioning APIs easier without disrupting API consumers. For more information, visit Choreo docs.

Why Do We Need Deployment Tracks?

Managing multiple API versions, providing a seamless API consumer experience, and constantly improving APIs present substantial challenges. Setting up infrastructure to manage these demands requires more than a conventional CI/CD pipeline. Deployment Tracks offer a streamlined solution to address these issues.

How it Works:

You can link Deployment Tracks to various Git branches and container registry repositories. This adaptability allows you to adjust these links to Git branches or container repositories as your development workflow evolves. 

For instance, you can maintain a stable Git branch named main for stable releases and another branch named next for ongoing development. Both branches can be connected to Deployment Tracks, like DT-1 for version 1.1 and DT-2 for version 1.2 of your API, as illustrated in Figure 1.

Figure 1: Git workflow with Deployment Tracks

Once work on the next branch is completed and changes are merged into the main branch, the development process for version 1.3 proceeds using the next branch. During this transition, you can link DT-2 to the main branch, create DT-3 for the next branch, and unlink DT-1 as it's no longer required, as seen in Figure 2.

Figure 2: Git workflow for new version with Deployment Tracks

What's Next?

This introduction of Deployment Tracks is the beginning of an exciting journey that will unlock several new capabilities within Choreo. As we move forward, you can expect the rollout of features such as intelligent routing (based on major API versions), blue-green deployment strategies, canary deployments, and more. Deployment Tracks seamlessly facilitate these enhancements, providing a robust foundation for an efficient and trouble-free API experience for your users.

One notable change is the removal of component versions. We recognize that versioning your components with Git is a common practice, and we've aligned our approach accordingly. With the API version attribute for service components within Deployment Tracks, API publishers can easily specify API versions for consumers.

We trust you’ll find Deployment Tracks an invaluable addition to your workflow. Together, we're shaping the future of delivering exceptional API user experiences.