INFRASTRUCTURE AS CODE – Usando Terraform e Ansible
A Ann Afamefuna está disponibilizando no seu perfil o e-book INFRASTRUCTURE AS CODE – Using Terraform and Ansible.
Antes do conceito de DevOps, a implantação de aplicações em vários ambientes era uma tarefa difícil que exigia tempo, esforço e habilidades. Uma equipe de operações separada com amplo conhecimento e experiência em vários servidores, máquinas virtuais (VMs) e sistemas operacionais (SO) host usados para acessar manualmente os servidores e configurá-los de acordo com os requisitos do aplicativo. Geralmente no caso de pequenas organizações, os desenvolvedores do aplicativo eram responsáveis por fazer isso (bem, não é uma boa visão para se imaginar).
Agora, graças aos avanços na área de nuvem e DevOps nos últimos anos, essas tarefas estão se tornando menos complexas. Os servidores virtuais na nuvem e os servidores físicos no local podem ser provisionados e configurados facilmente em minutos, apenas executando um script escrito em uma linguagem amigável (principalmente YAML). Isso é possível por meio de um conceito conhecido como Infraestrutura como Código (IaC) que nos permite lidar com servidores, redes, grupos de segurança, bancos de dados, etc. As soluções líderes de mercado hoje em dia para IaC são fornecidas por Terraform, Ansible, Chef, Puppet, etc.
Vejamos algumas das vantagens oferecidas pela Infraestrutura como Código:
- Codifique uma vez, repita várias vezes: pois os arquivos de configuração são codificados inicialmente para criar e configurar o ambiente para um aplicativo. Esses arquivos podem ser usados para ativar vários ambientes (por exemplo, teste, produção, preparação, etc.) e também podem ser usados para implantar ambientes semelhantes para aplicativos com os mesmos requisitos de sistema operacional e pacote. Eles também podem ser ajustados um pouco se as configurações mudarem e Voila! Temos um novo ambiente configurado e pronto para uso.
- Imune a erros humanos: Tal como antes, as infraestruturas eram configuradas manualmente e por diferentes pessoas, existiam erros conhecidos como desvios de infraestrutura. Estas foram pequenas diferenças na configuração dos ambientes devido ao processo manual de implantação por diferentes pessoas em vários servidores. Agora, devido ao uso de scripts para provisionamento e configurações, esse processo é padronizado.
- Dimensionamento, muito fácil!: Quando há um alto tráfego de entrada em seu aplicativo em um horário específico do dia ou do ano, você pode criar novos ambientes com apenas alguns cliques e comandos e implantar várias instâncias de seu aplicativo. Da mesma forma, você pode desativar ambientes quando há menos tráfego, gerando eficiência de custos. Ampliar ou reduzir ambientes é o mais fácil possível.
Agora, vamos ter um conhecimento básico das ferramentas que usaremos neste projeto.
Essa foi uma dica do Jurandir Seneva