Terraform multicloud orchestrator version 1.0

Beautiful Arrangement

The State Engine

One internal component of Terraform that has not been sufficiently investigated thus far, and one that system administrators often criminally neglect, is the tool's internal state engine. An IaC solution doesn't just involve matching resources in the cloud to the admin's specifications. Instead, Terraform also has to keep a record of when it made what changes and who instructed it to do so. The command terraform state show gives you immediate insights into the individual resource records it has created.

Who Needs Terraform?

At this point, I'll briefly look at who could benefit from Terraform as a solution. The program is by far not the only orchestrator for IaC, but it is certainly one of the most complete.

As usual, great flexibility comes at the price of at least slightly more complexity. If you only want to launch a single EC2 instance on AWS, the single Terraform state file you produce will be very short. In this case, it might not be worthwhile using Terraform at all. Examples of how to achieve the same effect with Amazon's CloudFormation are abundant online. The same applies to classic automators: An EC2 instance can also be started up quickly by Ansible, for example.

More often than not, Terraform will be used in large environments as part of a fairly complex CI/CD pipeline that exploits IaC down to the last detail. Terraform does this better than any other program currently available on the market.

Conclusions

The developers are deliberately not pushing Terraform 1.0 as an epochal release with a big party and a fireworks display of new features. Instead, HashiCorp wanted to do justice to nearly 10 years of work on Terraform, which have resulted in a version of the program that genuinely deserves to be designated "ready for production." From a news point of view, Terraform 1.0 does not provide much fodder. From the point of view of system administrators already bitten by the Terraform bug, however, Terraform 1.0 is a blessing: Wherever Terraform 0.15 has been used thus far, Terraform 1.0 can step in without any worries.

In all likelihood, users can look forward to genuine changes again in the context of Terraform 1.1 [3]. The first release candidate was published just before this issue went to press and focuses on the integrity of the rolled-out services. Unlike its predecessor, Terraform 1.1 checks whether the modules and providers used when creating a plan (applying) still match the modules available locally, which prevents those who change modules or provider interfaces from inadvertently throwing working resources out with the bath water.

If you need a highly functional tool for multiple cloud orchestration and IaC, you will definitely want to include Terraform in your considerations, especially because potential alternatives are few and far between: Pulumi (Figure 5) is one [4] and Attune (Figure 6) another [5]. As already mentioned, the common automators handle some parts of Terraform's functionality, as well.

Figure 5: Alternatives to Terraform are few and far between: Only Pulumi, which requires a connection to the cloud …
Figure 6: … and Attune are available, with Attune having a different focus and offering significantly less in terms of functionality. © Servertribe

The Author

Freelance journalist Martin Gerhard Loschwitz primarily focuses on topics such as OpenStack, Kubernetes, and Ceph.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus