Terraform está se tornando rapidamente a escolha para criar e gerenciar infraestruturas de nuvem por meio de definições declarativas. A configuração dos servidores instanciados por Terraform é normalmente feita através de ferramentas como Puppet, Chef ou Ansible. Gostamos de Terraform porque a sintaxe de seus arquivos é bastante legível e porque suporta vários provedores de nuvem, ao mesmo tempo em que não tenta criar nenhuma abstração artificial.
A comunidade ativa adiciona suporte para as últimas funcionalidades da maioria dos provedores de nuvem. Depois de nossa primeira (e mais cautelosa) menção a Terraform, há quase dois anos, a ferramenta continuou se desenvolvendo e evoluiu para um produto estável com um bom ecossistema, que provou seu valor em nossos projetos. O problema com o gerenciamento de estados pode agora ser contornado usando o que o Terraform chama de “backend de estado remoto”. Temos usado com sucesso o AWS S3 para isso.
With Terraform, you can manage cloud infrastructure by writing declarative definitions. The configuration of the servers instantiated by Terraform is usually left to tools like Puppet, Chef or Ansible. We like Terraform because the syntax of its files is quite readable and because it supports a number of cloud providers while making no attempt to provide an artificial abstraction across those providers. Following our first, more cautious, mention of Terraform almost two years ago, it has seen continued development and has evolved into a stable product that has proven its value in our projects. The issue with state file management can now be sidestepped by using what Terraform calls a "remote state backend." We've successfully used Consul for that purpose.
With Terraform, you can manage cloud infrastructure by writing declarative definitions. The configuration of the servers instantiated by Terraform is usually left to tools like Puppet, Chef or Ansible. We like Terraform because the syntax of its files is quite readable and because it supports a number of cloud providers while making no attempt to provide an artificial abstraction across those providers. Following our first, more cautious, mention of Terraform almost two years ago, it has seen continued development and has evolved into a stable product that has proven its value in our projects. The issue with state file management can now be sidestepped by using what Terraform calls a "remote state backend." We’ve successfully used Consul for that purpose.
With Terraform, cloud infrastructure can be managed by writing declarative definitions. The configuration of the servers instantiated by Terraform is usually left to tools like Puppet, Chef, or Ansible. We like Terraform because the syntax of its files is quite readable and because it supports multiple cloud providers while making no attempt to provide an artificial abstraction across these providers. At this stage, Terraform is new and not everything is implemented yet. We have also found its state management to be fragile, often needing awkward manual work to untangle.