(IaC), que permite criar infraestrutura em diferentes Cloud Providers (Google, AWS, Azure, Digital Ocean, OpenStack, etc) • Criada pela HashiCorp • Open Source • Escrita em GoLang O que é Terraform
redes, vpn e etc • Replica a mesma infraestrutura para diferentes regiões, ou ainda para diferentes ambientes • Melhor rastreio da infraestrutura • Mudanças incrementais O que Terraform faz
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 O que Terraform não faz
sua configuração • Performance para infraestruturas grandes • terraform.tfstate é um simples arquivo json • Ordem de dependência • Utilizar Backends ◦ Bucket S3 (AWS) ◦ Consul (HashiCorp) ◦ GCS Guardando 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
Workspace é um comando do Terraform. • Workspace utilizam diferentes states para controlar em qual dos environments o recurso será/está criado. Trabalhando com environments
um diretório ◦ terraform plan -target=recurso.nome ◦ terraform plan -target=modulo.nome • Para aplicar, seguimos mesma linha do plan ◦ terraform apply -target=recurso.nome ◦ terraform apply -target=module.nome Criando infra em pedaços