5 Steps to Deploying an Application Environment using CloudShell and CircleCI
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.
The 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 Colony 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.
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.
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.
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.
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.