Deploy automation and cloud resources: the ‘peas and carrots’ of DevOps

Written by: Electric Bee
1 min read
Stay connected

Recently in the CloudBees Flow 5.4 release we rolled-out Dynamic Cloud Environments -  a powerful new feature for integrating deploy automation with cloud VMs. This new capability allows you to define , provision , and manage cloud VMs directly from the CloudBees Flow UI, with power under-the-hood to seamlessly execute all of the necessary API calls for the target cloud platforms and configuration management tools. Let us review how deploy automation and cloud resources fit naturally together - like peas and carrots -  and what this new feature allows you to do:

Define once, provision repeatedly

At the core of the CloudBees Flow Dynamic Cloud Environments solution is a simple and robust template model that allows DevOps teams to define each type of resource for their environment. This definition includes access credentials to either AWS EC2 or OpenStack cloud platforms, reference to existing AMIs, and optional middleware configuration with Chef recipes. All of the nitty gritty details of cloud resources are captured in these template definitions that are called during CloudBees Flow’s automated provisioning sequence to ‘spin up’ cloud resources on-demand.

deploy-automation-and-cloud-resources-screenshot0

List of Resource Templates within CloudBees Flow. These definitions capture the core details of individual cloud resources. With flexibility in mind, CloudBees Flow allows for easy integration with other cloud platforms, such as Windows Azure or VMware vSphere, and additional middleware configuration such as Puppet or SaltStack. Once registered within CloudBees Flow, these additional platforms and tools can become available as options within the template definitions.

deploy-automation-and-cloud-resources-screenshot1

Modeling of Environment Templates allows users to define the exact specification of tiers and corresponding cloud resources for their desired cloud environment.

Automated provisioning when you want it

With template definitions in place, CloudBees Flow automatically provision the defined cloud environment as part of the overall application deploy process. Under the hood, CloudBees Flow reads the Environment Template definition and makes the necessary cloud platform API calls to provision resources as defined in the Resource Templates. If Chef configuration is required, CloudBees Flow will first finish provisioning then call the user’s Chef Server to run recipes and configure middleware. The status of each step of the overall provisioning sequence is readily available in our ‘progressive disclosure’ UI, showing users a very clear indication of their progress. Once the new cloud environment has been completely provisioned and configured, CloudBees Flow will then initiate the deployment process and place application artifacts exactly where they belong on the new environment.

deploy-automation-and-cloud-resources-screenshot2

Active display of progress during cloud environment provisioning.

Fine tune control of cloud VMs

Cloud environments by nature can be ephemeral and used to suit specific deploy scenarios in the overall release pipeline. To prevent excessive spend or overuse of physical resources CloudBees Flow users have direct access to manage their cloud environments and retire them as needed. When a QA Team has gone home at the end of the day, their cloud environment can be retired and easily re-provisioned for use tomorrow. Cloud resources can also be retired directly through their platform console with CloudBees Flow Deploy registering the change within the product UI.

deploy-automation-and-cloud-resources-screenshot3

Active cloud environments can be retired on-demand directly within the CloudBees Flow UI.

The evolution continues

The dynamic cloud environments solution has evolved from a set of plugins to a first-class feature in CloudBees Flow. This evolution will continue in upcoming product releases with support for scaling out (e.g, adding more cloud resources on-demand), resource monitoring, and support for additional cloud platforms and configuration management options. The end goal is to achieve true seamless integration of cloud resources into application release automation.

Cloud Dynamic Environments- Automated Deployment

Want to see a demo of CloudBees Flow's Dynamic Cloud Environments capabilities? Attend our upcoming webinar  to see how CloudBees Flow provides seamless integration with cloud platforms and reduces the level of knowledge and effort required to define, provision, and manage cloud resources.

Stay up to date

We'll never share your email address and you can opt out at any time, we promise.