introduction
Nowadays, Cloud Computing is a de-facto standard adopted by companies or individuals to create their applications. Companies that offer solutions, that could be one of the main three models (IaaS – Infrastructure as a Service, PaaS – Platform as a Service, and Software as a Service) are called cloud providers, or simply providers.
Providers offer resources that are like building blocks for DevOps people to create suitable infrastructure for their applications. The number, type, and cost of resources may vary from provider to provider. There should be a study before choosing what provider better fits the project
To create those resources, providers offer a web console that DevOps can manage them. The problem of managing the resources on the web console is to keep track of what was created. That’s nothing that a plain text file or an Excel sheet can solve, right? Nope!
Then providers created a more fun way (yeah, fun!) to create the resources: a command-line interface (CLI). Now DevOps can create scripts (Shell or Power Shell Script) to manage when creating, modifying, or destroying a resource. The problem is when adding some new resources, that are not in the scripts, a new script should be created only for this to manage its lifecycle.
Don’t worry, there is a solution that can be adopted: Terraform, which is a provider agnostic CLI that interprets its own programming language (HCL – HashiCorp Configuration Language) that describes Cloud Computing Provider resources. With this tool, it’s possible to manage the infrastructure without taking notes on Excel or Notepad or even creating Scripts to manage the infrastructure. Ok, it can do more than this as it’ll be explained here.
In this article, I will list some tips best practices I reunited during my experience with Terraform.
Read more