Escolher uma solução de terceiros

Concluído

Vamos considerar o Chef e o Terraform em relação aos mesmos critérios da unidade anterior.

Chef

  • Facilidade de configuração. O servidor Chef é executado na máquina principal e os clientes Chef são executados como agentes em cada uma das máquinas cliente. Você também pode usar o Chef hospedado e começar mais rápido, em vez de executar seu próprio servidor.
  • Gestão. A gestão do Chef pode ser difícil porque utiliza uma linguagem específica de domínio baseada no Ruby. Poderá necessitar de um programador de Ruby para gerir a configuração.
  • Interoperabilidade. O servidor do Chef só funciona no Linux e Unix mas o cliente do Chef pode ser executado no Windows.
  • Linguagem de configuração. O Chef utiliza uma linguagem específica de domínio baseada no Ruby.
  • Limitações e desvantagens. Pode demorar algum tempo para aprender a linguagem, sobretudo para programadores que não estão familiarizados com o Ruby.

Scenario

A sua organização decidiu deixar que os programadores criassem algumas máquinas virtuais para as suas próprias finalidades de teste. A equipa de programação conhece várias linguagens de programação e começou recentemente a escrever aplicações do Ruby. Quer dimensionar estas aplicações e executá-las em ambientes de teste. Está familiarizada com o Linux. Os programadores executam apenas máquinas baseadas em Linux e eliminam as mesmas após a conclusão dos testes.

O cenário é ideal para o Chef, uma vez que está a permitir que os programadores criem os seus próprios ambientes através dos seus próprios scripts de configuração do Ruby. Já estão familiarizados com o Ruby, uma vez que escreveram aplicações com essa linguagem.

Resumo da solução

O servidor do Chef é adequado para implementação e configuração de infraestrutura em grande escala. O Chef facilita a automatização da implementação de uma infraestrutura inteira, tal como no fluxo de trabalho de uma equipa de programação.

Terraform

  • Facilidade de configuração. Para começar a utilizar o Terraform, transfira a versão que corresponda ao seu sistema operativo e instale-a.
  • Gestão. Os ficheiros de configuração do Terraform foram concebidos para serem fáceis de gerir.
  • Interoperabilidade. O Terraform suporta o Azure, Amazon Web Services e Google Cloud Platform.
  • Linguagem de configuração. O Terraform utiliza a linguagem HCL (Hashicorp Configuration Language). Também pode utilizar JSON.
  • Limitações e desvantagens. Como o Terraform é gerido em separado do Azure, pode verificar que não consegue aprovisionar alguns tipos de serviços ou recursos.

Scenario

A sua organização conquistou um novo cliente que pretende criar várias máquinas virtuais em vários fornecedores de serviços cloud. O cliente pediu-lhe para criar três novas máquinas virtuais no Azure e outra na cloud pública. O cliente pretende que as máquinas virtuais sejam semelhantes. Devem ser criadas com um script que funcione com ambos os fornecedores. Essa abordagem ajuda o cliente a ter uma ideia melhor do que provisionou entre os provedores.

O Terraform é uma boa solução para este cenário. Pode criar facilmente máquinas virtuais e outros recursos em vários fornecedores com o Terraform.

Resumo da solução

Com o Terraform, você pode planejar a infraestrutura como código e ver uma visualização do que o código cria. Pode ter esse código revisto por peritos para minimizar erros na configuração. O Terraform suporta configurações de infraestrutura em diferentes fornecedores de serviços cloud.