A small introduction for those who wants to use Terraform for Infrastructure as code using AWS (Amazon Web Services) and Digital Ocean as examples for this tutorial
Infraestrutura. • Pipelines para builds automatizados. • Redução de erros humanos. • Sem retrabalho, crie apenas uma vez e repita múltiplas vezes. • Infraestrutura imutável.
provê Infraestrutura como código (IaC), que permite criar infraestrutura em diferentes Cloud Providers (Google, AWS, Azure, Digital Ocean, OpenStack, etc). • Criada pela HashiCorp. • Open Source. • Escrita em GoLang
balanceadores de carga, discos, redes, vpn e etc. • Replica a mesma infraestrutura para diferentes regiões, ou ainda para diferentes ambientes. • Melhor rastreio de sua infraestrutura. • Mudanças incrementais.
precisamos de outra ferramenta para isso, como Ansible, Chef ou Puppet. ◦ ..mas, é possível fazer alguns “truques”. • Terraform não é agnóstico, é preciso escrever novamente o recurso para o Provedor de Cloud que você deseja utilizar.
sua configuração. • Performance para infraestruturas grandes. • terraform.tfstate é um simples arquivo json. • Ordem de dependência. Guardando o estado
novo valor para a variável do recurso que deseja utilizar. • Diversos módulos podem ser encontrados em https://registry.terraform.io. • Use sempre tags para o versionamento, tags irão salvar sua vida e seu trabalho. Módulos Terraform
Workspace é um comando do Terraform. • Workspace utilizam diferentes states para controlar em qual dos environments o recurso será/está criado. Trabalhando com environments