Automic Continuous Delivery Automation

Full Stack Provisioning with Infrastructure Manager

By Varban Vasilev posted 05-05-2020 06:54 AM


Full Stack Provisioning

Ever since the emergence of agile, there has been more and more pressure on IT teams to deliver working environments that can be used for all types of activities related to the application lifecycle. Starting from development environments used for building and testing all the way to multiple production environments to handle larger loads, distribution and disaster recovery requires lots of infrastructure.

What started as a request for a new server and has now morphed into a request for multiple Kubernetes clusters is a daily activity for many teams in large enterprises and some of the common issues arising from those requests are time, cost and reliability. How much time would it take, how much is it going to cost and how much effort would the team need to spend in order to get a working application available for use.

The solution has always been a typical divide and conquer. Break up the problem into smaller, manageable pieces. First start with the infrastructure team provisioning one or more servers or VMs. Then hand them over to the middleware team to install and configure the supporting software and finally give access to the team requesting the environment to install and setup their application. Many teams with different priorities and availability. Not surprisingly, it can take months to get there and the outcome might not always be the same.

With the advancements in automation and widespread availability of cloud environments, a more holistic approach is now possible: one solution that can deliver everything, including a working application, which we refer to as full stack provisioning. 

Full stack provisioning aims to provide a repeatable, scalable and automated way of obtaining fully functional environments including the running applications. Under the covers, there are still different tools that specialize in and handle the various tasks but the overall process is standardized and predictable. It is also much faster and cheaper.


Our solution is built on top of Terraform - an open source infrastructure management tool with large community support from all major infrastructure providers and growing popularity.

Infrastructure Manager is an extension to the Automic platform that provides an automated and repeatable way for you to create a new environment in any infrastructure provider, populate the environment with the correct middleware, and install a version of an application. The new application is then fully functional in your newly created environment.

The provisioning process combines the capabilities of Terraform, an open source infrastructure provisioning tool, with middleware provisioning tools (like Chef, Puppet, Ansible, etc.), and the Automic system. While Terraform is the workhorse behind Infrastructure Manager, it does not provide traceability, visibility and access control functionality on its own. In order for Terraform to manage the full lifecycle of infrastructure, it uses a state file to persist the known state and that file needs to be stored and managed. Terraform state file management is one of the built-in features Infrastructure Manager provides, along with:

  • secure infrastructure provider credential storage
  • execution history
  • execution logs
  • access control
  • integration with Git for Terraform template storage

Environment provisioning happens throughout the application lifecycle; some environments might be created even before any application code is written, some during intensive development cycles, testing cycles, user acceptance and functional testing, and so on. In some cases, new production environments might be created, and later new environments for patch and bug fixing might be needed. Therefore, Infrastructure Manager can be integrated with multiple Broadcom and third-party tools to effectively and seamlessly provide full-stack environment provisioning at any stage of the CI/CD process.

In order to facilitate and simplify the integration between CDA and Infrastructure Manager we have introduced a custom CDA UI plugin. The plugin provides end users with the ability to quickly and easily request and manage new environments for their applications managed by CDA without any technical knowledge of Terraform or even infrastructure provisioning.

The combination of CDA, Infrastructure Manager and the Terraform CDA provider and provisioner enable CDA customers to implement single click full stack provisioning that is secure, traceable and visible and reduce the time and cost associated with managing infrastructure.

You can download Infrastructure Manager from our marketplace: