Avançar para o conteúdo principal
BlogFerramentas de desenvolvimentoQuando considerar Terraform

Quando considerar usar Terraform

Quando considerar usar Terraform

Na qualidade de engineering manager a trabalhar com o nosso fornecedor Terraform, fazem-me muitas perguntas sobre a forma como os programadores (incluindo os nossos próprios clientes) usam o Terraform para gerir a infraestrutura de cloud. 

Terraform é a solução ideal para algumas cargas de trabalho, mas - para outras - redesenhar os seus fluxos de trabalho para incorporar o Terraform pode ser um pouco como tentar reinventar a roda. Como com todas as ferramentas, mesmo que não precise de tomar a decisão agora, deve conhecer o básico e manter-se atento ao desenvolvimento para ver se Terraform será eventualmente uma boa opção.

Terraform é uma solução IaC que segue um modelo declarativo; o ficheiro de configuração define qual o aspeto que pretende para a configuração final, em vez de definir os passos necessários para chegar a essa configuração. Consulte o nosso blogue sobre as diferenças entre as soluções declarativas e imperativas para mais detalhes. Tal como outras ferramentas declarativas, é melhor utilizar o Terraform quando os sistemas têm alguma uniformidade, embora forneça alguma capacidade para divergir do modelo padrão. 

Animais de companhia vs gado

O Terraform não é ideal para um ambiente onde os servidores são especiais, ou radicalmente diferentes de todos os outros ou onde os sistemas individuais estão sujeitos a reconfiguração frequente. Não tem qualquer problema com reconfigurações frequentes, desde que seja ele a fazer essa reconfiguração. Um fluxo de trabalho Terraform quer tratar os servidores como gado (não como animais de companhia, ou seja, não especiais).

As soluções declarativas também são idempotentes, o que significa que se obtém o mesmo resultado, independentemente do número de vezes que insere um comando. Suponha que um relançamento falha num ponto intermédio da configuração. Nesse caso, pode inserir novamente o mesmo comando em vez de ter de adaptar o comando ou navegar manualmente nos passos finais da configuração. As soluções idempotentes tendem a simplificar o processo de resolução de problemas e, portanto, permitem que os membros da equipa menos experientes atuem com mais independência.

Para além das vantagens básicas da abordagem declarativa, o Terraform tem várias outras vantagens. A linguagem de configuração HashiCorp (HCL) utilizada com o Terraform é mais simples e fácil de aprender do que as linguagens utilizadas com muitas outras ferramentas IaC. Necessitará apenas de alguns comandos para executar um grande número de tarefas administrativas básicas. Terraform é uma ferramenta de código aberto suportada por muitos dos principais fornecedores de cloud, por isso usar o Terraform ajuda a evitar o "aprisionamento tecnológico". A adoção crescente do Terraform significa também que está a tornar-se muito mais fácil contratar programadores com experiência em Terraform.

O Terraform corre em várias plataformas e tem uma gama diversificada de plug-ins que facilitam a gestão de ambientes multicloud. O registo do módulo Terraform disponibiliza componentes reutilizáveis que podem poupar-lhe tempo ao construir as suas próprias configurações.

Linode e Terraform

Investimos fortemente no Terraform, e as ferramentas personalizadas integradas no ambiente Linode simplificam ainda mais a tarefa de implementar o Terraform como a sua solução IaC. Por exemplo, o fornecedor Terraform da Linode interage diretamente com a API Linode, proporcionando assim uma integração contínua com outros produtos Linode.

Este resumo rápido das vantagens leva a alguns conhecimentos práticos sobre quando o Terraform poderá ser a melhor opção para o seu ambiente. Considere usar o Terraform se tiver as seguintes necessidades:

  • Infraestrutura reproduzível: A automatização funciona melhor num ambiente em que existe alguma uniformidade e reprodutibilidade. Se a sua rede suporta múltiplos sistemas que são semelhantes em configuração, o Terraform é uma excelente opção. Por outro lado, se os seus sistemas forem diferentes, exigirem muita personalização ou necessitarem de alterações frequentes na configuração, provavelmente não terá vantagem em usar o Terraform.
  • Serviços externos: Se tem um ambiente que requer integração com ferramentas e serviços externos, o Terraform é uma boa opção devido à sua extensa coleção de plug-ins.
  • Multicloud: Se a sua organização utilizar vários fornecedores de cloud, a aceitação universal do Terraform simplificará a integração.
  • Pessoal de TI flexível: A facilidade de utilização do Terraform significa que não precisa de ser um especialista para operar e manter o seu ambiente IaC. Considere usar o Terraform se a sua organização tiver vantagens em ter um pessoal de TI flexível e fácil de formar com uma intervenção mínima de especialistas de nível avançado.

É também importante não esquecer que as decisões que tomar hoje construirão a rede em que trabalhará amanhã, por isso pense no futuro quando estiver a planear o seu ambiente IaC e a considerar usar o Terraform. Por exemplo, mesmo que atualmente não opere num ambiente multicloud, poderá querer preservar a opção futura para poupar dinheiro e maximizar a flexibilidade à medida que a sua organização evolui.

Se ainda não teve oportunidade de trabalhar com o Terraform para os seus próprios projetos, vale a pena investir o tempo necessário para se familiarizar com a ferramenta de modo a poder dar a si próprio (e às suas cargas de trabalho) uma vantagem competitiva adicional. Escolher uma plataforma como o Terraform, que muitos fornecedores de cloud diferentes suportam, maximiza a sua capacidade de adaptação e torna a sua infraestrutura de cloud à prova de futuro.


Comentários

Deixe uma resposta

O seu endereço de correio electrónico não será publicado.