Usar arquivos de configuração para criar modelos repetíveis para gerenciar sua infraestrutura é fundamental para implantar recursos e gerenciar configurações em escala. A criação de modelos permite-lhe configurar ambientes de desenvolvimento consistentes, poupar tempo e reduzir significativamente o potencial de erro humano.
Terraform e Ansible são duas das ferramentas de Infra-estrutura como Código (IaC) mais populares e têm algumas funções e princípios que se sobrepõem, mas cada ferramenta resolve o seu próprio conjunto único de desafios de automatização e gestão de infra-estruturas. Por isso, em vez de pensar nelas como soluções "ou um ou outro", configure as suas práticas de gestão para utilizar ambas desde o início.
O que é Terraform?
Terraform é uma ferramenta de IaC criada pela HashiCorp que se concentra na criação, modificação e destruição de servidores e recursos de nuvem. Terraform é escrito em Go e permite criar planos declarativos que descrevem o aspecto que a sua infra-estrutura deve ter no seu estado final.
Terraform também oferece plug-ins chamados "provedores" para integração com diferentes provedores de nuvem. Terraform pode criar e destruir recursos em seu nome por meio de um token de leitura/gravação API e executar um ficheiro .tf que contém API pontos de extremidade. Mas antes de realmente agir via Terraform, você pode usar outros comandos para mostrar uma prévia das mudanças que ocorrerão, descrever o estado atual do seu arquivo .tf e exibir informações detalhadas sobre um recurso.
O que é Ansible?
Ansible é uma ferramenta de gestão de configuração que fornece software e executa comandos de configuração numa variedade de infra-estruturas de aplicações, incluindo máquinas virtuais e dispositivos de rede. Ansible operações são escritas em sintaxe YAML legível por humanos, conhecida como Ansible playbooks. Eles funcionam como uma lista de tarefas que Ansible completa para você.
Ansible é processual, executando comandos numa ordem específica. Um livro de jogo não pode ser executado a menos que a configuração da infra-estrutura atenda a critérios específicos, o que facilita a identificação de inconsistências e problemas com recursos individuais. Na sua forma mais simples, um Ansible Playbook definirá um grupo de anfitriões de destino, variáveis a utilizar no Playbook, um utilizador remoto para executar as tarefas e um conjunto de tarefas nomeadas a executar utilizando módulos Ansible relevantes.
Terraform e Ansible Atributos partilhados
Com base nas explicações acima, pode compreender as diferentes funções de Terraform e Ansible. No entanto, estas ferramentas também funcionam extremamente bem em conjunto com base nos seus pontos comuns.
- Sem agente: Ambas as ferramentas interagem com os seus recursos através de um APIem vez de exigir software ou daemons nos servidores de destino.
- Repetível: O uso de ambos em conjunto garante que as mesmas etapas possam ser repetidas conforme necessário. Por exemplo, se estiver a implementar um novo ambiente que precisa de se assemelhar ao seu ambiente de aplicação de produção, pode escrever um ficheiro .tf e um livro de jogo para implementar a sua infra-estrutura e instalar exactamente o que é necessário de cada vez.
- Controlo de versões: Os seus recursos e a respectiva configuração são declarados no código para que possa detectar alterações exactas e reverter alterações executando outro ficheiro .tf ou playbook. No entanto, o controlo de versão integrado do Terraformtorna-o uma ferramenta de gestão de estado melhor.
- Agnóstico em relação à nuvem: Gerencie a infraestrutura em qualquer provedor de nuvem dentro do recurso principal de cada ferramenta e use modelos diferentes para cada provedor de nuvem para implantações em várias nuvens.
- Poupança de tempo: Obtenha mais de um comando ou confirmação. Em vez de passar por etapas individuais para implantar a infraestrutura e/ou configurar ambientes, levante e configure rapidamente a infraestrutura usando etapas mínimas.
Em resumo, Terraform é excelente na implantação e gestão do ciclo de vida dos recursos da nuvem, e Ansible é um líder do sector na gestão da configuração dos seus servidores implantados. Utilize Terraform para construir o que quiser, quando e onde quiser, e depois destrua-o quando já não for necessário. Utilize Ansible para configurar os seus servidores e quaisquer pacotes de software necessários na sua infra-estrutura implementada.
Se está apenas a começar a utilizar as ferramentas IaC, aprender a optimizar Terraform e Ansible em conjunto é a melhor forma de aprender. Aqui estão alguns guias e recursos para o ajudar a começar.
- Quando considerar usar Terraform
- Gestão Declarativa da Infra-estrutura da Nuvem com Terraform
- Experimente o Ebook da IaC e a série de Webinars a pedido com Justin Mitchel
- Documentação da Akamai Terraform
- Documentação da Akamai Ansible
Pronto para usar Ansible e Terraform nos serviços de computação em nuvem da Akamai? Instale a coleçãoAnsible ou transfira o nosso fornecedorTerraform verificado.
Comentários