Recently, HashiCorp announced general availability of Terraform 0.13. It was a much-awaited announcement for Terraform users. So, what was announced and why should you care about it?
Modulescaling simplified: “module count”, a new feature, helps customers scale not just their virtual machines but entire modules within a Terraform environment. This helps users scale everything included in their module.
Similarly, “module for_each”, can be used for some complex environments, including, for example, deploying clusters across various groups in different regions. “for_each” can help to apply parameters across those deployments to make them seamless.
Finally, “module depends_on” gives users the ability to define, at module level, dependencies of how things should occur. Earlier, this was done using implicit Terraform logic.
Terraform Cloud authentication: With this release, it is now easier to authenticate Terraform Cloud through the CLI directly. When the user logs into the CLI, it will issue login into Terraform Cloud using token-based authentication, thus, making the experience secure and seamless.
Custom variable validation: This update takes the previous validation feature to the next level. The previous feature was designed to check whether the conditions expressed are met to validate errors. It would raise a flag when it did and helped identify if there was any error in any validation blocks. Also, previously authors were allowed to use this feature for each block, which would in turn help them identify easily where the error was.
Now using the new variable validation feature, the author will be able to identify errors produced by validation of the variable vs. errors produced by the expression in the condition.
While this is all exciting for Terraform users, business users have been asking us how they can continue to leverage their CloudBolt platform with these new features. Let’s take a look.
How Does CloudBolt Integrate with Terraform?
To help CloudBolt users leverage Terraform, we have developed two powerful options that IT admins and developers can use to drive efficiencies without sacrificing visibility and control.
With a CloudBolt Provider for Terraform, developers can invoke a service action in CloudBolt with Terraform. Developers can write Terraform Plans which invoke actions in CloudBolt to provision services. It’s as simple as that. This option is focused on developers who want to continue using Terraform as the infrastructure management platform. By using CloudBolt in Terraform, IT maintains complete resource visibility and can support day-2 operations.
The second option allows users to invoke Terraform from CloudBolt blueprints to deploy a service. This option is useful for non-Terraform users who want to provision resources quickly in any cloud they like. Users do not have to open a Terminal to use the Terraform Command Line Interface (CLI) and can take actions with CloudBolt blueprints instead. Day-2 operations are managed the same way as you would manage other hybrid cloud resources using CloudBolt.
Both these options support complete governance and security. CloudBolt’s role-based access control helps organizations define who will access which environments (AWS, Azure, VMware, etc.) and what they can do (provision, modify, delete, etc.). With CloudBolt leaders can use features such as approval workflows, power scheduling, quotas to curb resource sprawl. Plus, with CloudBolt’s monitoring reports and dashboards, users get granular visibility into their environment.