5 Steps to Deploying an Application Environment using CloudShell and CircleCI

PUBLISHED
June 7, 2023
READ TIME
10 min

Building the next big thing is what most developers care about. The application release process is best left to automation experts, such as Quali and CircleCI. Combining the power of workflow orchestration with Environment as a Service provides a compelling story to accomplish that goal.

Workflow pipeline tools and Environment as a Service platforms neatly complement each other⁠: the higher level orchestration is owned by the workflow tool, while dev/test/production environments are provided on demand by the Environment as a Service platform. Quali has developed quite a number of these integrations over the last few years, many of them turning into mutually beneficial partnerships.

Environment Automation and CICD with CircleCI and QualiThe newest kid on the block, the CloudShell Orb, lets DevOps users trigger environment on-demand using the CircleCI CI/CD pipeline tool. That means existing CircleCI users can easily update their CircleCI projects with CloudShell‘s Environment as a Service platform with out-of-the-box pre-defined commands.

So, what is unique about the CircleCI and CloudShell integration? The approach to deploy an application environment as part of an automated workflow is simple, open, and developer friendly.

5 Steps to Deploying an Application Environment with Environment as a Service

Step 1: Define Your Cloud Account

An administrator defines a cloud account and an application build repository in CloudShell.

Define your cloud account using CloudShell Colony

Step 2: Model Your Blueprint

The DevOps engineer models a blueprint representing the desired application and its infrastructure. Each blueprint can have input parameters and may differ depending on the stage of the pipeline. For the final integration test, it should be a close replica of the production environment.

Model your application environment blueprint using CloudShell Colony

Step 3:  Create a Project in CircleCI

The DevOps engineer creates a project in CircleCI and includes commands from the CloudShell Orb registry:

One command, “start a sandbox,” deploys an environment from a blueprint. It also let you retrieve the details of the sandbox so that some test automation can run against its end points. Another one, “end a sandbox,” terminates the environment to free up the resources once the test is complete.

For additional details on the usage of this integration, CircleCI Orb has a neat self-documented approach that automatically generates the documentation of the Orb based on the description fields in the code itself.

Create your project using CircleCI

 

In the backend, the workflow calls the CloudShell REST API to trigger the deployment of a sandbox environment, based on the blueprint name and optional parameters. Similarly, once the test is complete, the sandbox environment is terminated and the infrastructure reset to its initial state.

Both CircleCI and Quali offer direct synchronization with GitHub for version control of projects and blueprints respectively, which makes it very convenient for any developer already familiar with this popular platform.

Step 4: Run the Project

Run the project created in the previous step from the CircleCI UI, or automatically based on the latest code merge to the Master branch.

Run the Project

Step 5: Support Blue-green Deployment

What’s next? Develop the support for the production use case with blue-green deployment upgrades, based on CloudShell fully integrated API. Since Orbs are all open source, we are looking for candidates in the community to pick up where we left off. Turns out it’s a great timing with the HacktoberFest event organized by our partner CircleCI.