Automated deployments with Choreo

Chanaka Fernando
WSO2 Best Practices
3 min readApr 27, 2022

--

How Choreo helps developers release software faster

Introduction

One of the most time-consuming tasks for developers is to mimic the code in the real environment while developing. It is hard to write optimal code at once. It requires several cycles to build optimal code and each cycle requires an incremental amount of testing and debugging. If the developers are using standalone editors or IDEs running on their computers, they have to deploy their code into a shared infrastructure such as a development environment to test and debug the code to mimic the real deployment. When doing that, developers need to build the binaries by themselves and make sure that nothing is missing in the running environment. If developers don’t use a mechanism such as containers, they will waste a lot of time doing this.

Choreo methodology

Choreo is a platform designed to improve the productivity of developers. It is built by developers for developers. Choreo understands the challenge of building the code, packaging it, and deploying it into different environments and provides a cleaner and easier approach to automate the deployments.

Choreo uses a lifecycle-based approach to take a developer from the development to deployment with different lifecycle stages with a simple button click to move from one stage to the other. The below figure depicts the different stages of a Choreo component (API, Service, Trigger).

Figure: Choreo component lifecycle stages

The starting point of any Choreo component such as an API, Service, or Trigger is the “Develop” stage where users design and implement the component according to the business requirements. The developers will spend a considerable amount of time on this stage. Choreo provides a low-code editing experience as well as a pro-code editing experience through an integrated, browser-based, VS-code editor. Once the development is completed, the developers can move into the next stage which is the “Deploy” stage.

Within the “Deploy” stage, Choreo users can view the changes made by developers and the current revision that is ready to be deployed. Here users can deploy their Choreo components to “Development” and “Production” environments.

The figure below depicts the Choreo deployment interface where developers click the “Deploy” button to run their code in the desired environments.

Figure: Choreo packaging and deployment

If you are using Choreo, all the packaging, building, and shared environments are available to you with a single button click. Developers can develop their applications using the built-in, browser-based IDE (VS-Code) and then click a button on the IDE to commit the code into the managed GitHub repository. Once it is committed, the code will be available to deploy into real environments such as pre-production and production. Once the developer is ready to deploy, she can click a button and select the environment from the Choreo interface. This will package the code into a deployable form and deploy it into the underlying Kubernetes infrastructure in a way it is separated from all other users and projects. This automated process will save a considerable amount of time for developers and they can spend that time developing develop more and more features that are useful for the business.

The next phase of the development lifecycle is the “Test”. Choreo provides a pre-build environment to execute the testing of your application. The second article of this article series explains the testing capabilities offered by Choreo.

Learn more about Choreo here

--

--

Chanaka Fernando
WSO2 Best Practices

Writes about Microservices, APIs, and Integration. Author of “Designing Microservices Platforms with NATS” and "Solution Architecture Patterns for Enterprise"