Terraform is written in Go, which is easily extensible, as the OCI Provider for Terraform shows.
Terraform development moves quickly. As soon as the Cloud providers change, Terraform quickly adapts. This is important – users don’t want to have to write the abstractions for a given cloud service.
HCL is a declarative language. Therefore, your goal is to describe the infrastructure you want, and Terraform will figure out how to create it.
HCL configuration language supports comments, has auto-formatting built-in (terraform fmt), and can have comments. Terraform itself can read JSON in place of HCL if needed.
Terraform provides declarative execution plans for building and running applications and infrastructure. What does declarative mean? Declarative plans are ones in which you specify outcomes. So, you let the tool take care of the steps required and focus on the outcome. This means you no longer need to worry about what specific commands to run, buttons to push, or settings to tweak. The tool underneath takes care of those details.
There are many different tools available for automation. Here is how Terraform stands in among the other options available,
Tool |
Released by |
Code |
Method |
Approach |
Written in |
Installation |
Type |
Architecture |
Infrastructure |
Ansible |
Red Hat |
Open Source |
Push |
Procedural |
Python/YAML |
Easy |
Config Mgt |
Client only |
Mutable |
Terraform |
HashiCorp |
Open Source |
Push |
Declarative |
GO |
Easy |
Orchestration |
Client only |
Immutable |
Chef |
Chef |
Open Source |
Pull |
Procedural |
Ruby |
Hard |
Config Mgt |
Server/Client |
Mutable |
Puppet |
Puppet |
Open Source |
Pull |
Declarative |
Ruby |
Hard |
Config Mgt |
Server/Client |
Mutable |
SaltStack |
SaltStack |
Open Source |
Pull & Push |
Declarative |
Python |
Hard |
Config Mgt |
Server/Client |
Mutable |
CloudFormation |
AWS |
Closed Source |
Pull |
Declarative |
JSON |
Hard |
Orchestration |
Client only |
Immutable |
In the next post, we shall see how to install Terraform in Windows and in OCI Console.
Aman….
Recent Comments