Introdução
O Microsoft Azure dá suporte a vários métodos para provisionar recursos para uma VM (máquina virtual) Linux e fazer a transição de cargas de trabalho existentes baseadas em Linux.
Cenário de exemplo
Suponha que você foi contratado por uma empresa de serviços financeiros para fazer a transição de suas cargas de trabalho locais baseadas em Linux para o Azure. Você selecionou a IaaS (Infraestrutura como serviço) e a PaaS (Plataforma como serviço) como serviços necessários para o projeto e concluiu o planejamento dos recursos necessários para a implantação. Agora você precisa selecionar uma metodologia de implantação que ofereça um equilíbrio ideal entre simplicidade e eficiência ao provisionar as VMs do Azure que executam o Linux. Suas opções incluem os modelos portal do Azure, CLI do Azure e Terraform e Bicep.
Examinar os métodos de implantação primários
Ao escolher qual metodologia de implantação usar, você deve considerar o que cada opção tem a oferecer.
Portal do Azure
A abordagem mais fácil para provisionar recursos do Azure é usar o portal do Azure. O portal do Azure é um console unificado baseado na Web que oferece uma alternativa conveniente para as ferramentas de linha de comando. Sua interface gráfica baseada em navegador foi projetada para ajudar nas tarefas de implantação e gerenciamento de recursos, solicitando ao usuário qualquer informação necessária, fornecendo dicas e exibindo mensagens úteis.
CLI do Azure
A CLI do Azure é uma ferramenta de linha de comando multiplataforma que você pode usar para acessar assinaturas do Azure e gerenciar seus recursos. Você pode executar comandos da CLI do Azure interativamente em uma interface de console, como uma janela do Prompt de Comando do Windows ou uma sessão do shell do Linux. Você também pode incorporar a CLI do Azure em scripts que usam comandos do shell bash e utilitários GNU para automatizar o processo.
Terraform
O Terraform é uma ferramenta de código aberto e multiplataforma de IaC (infraestrutura como código) que você pode usar para provisionar e configurar uma ampla variedade de ambientes, incluindo nuvens públicas e privadas de vários fornecedores. Ao contrário da CLI do Azure, que oferece uma abordagem imperativa para o gerenciamento de recursos, o Terraform segue uma abordagem declarativa.
Uma abordagem imperativa envolve escrever scripts ou executar uma sequência de comandos. Você fornece explicitamente as etapas a serem executadas para produzir um resultado desejado. Ao usar implantações imperativas, é sua responsabilidade gerenciar dependências, tratamento de erros e atualizações de recursos. Uma abordagem declarativa envolve escrever uma definição que descreva o resultado desejado, em vez das etapas para implementá-lo; as ferramentas determinam o método ideal para fornecer esse resultado para você. Ele faz isso inspecionando o estado atual do seu ambiente, comparando-o com o estado de destino e implementando as alterações necessárias para torná-las idênticas.
Observação
O Red Hat Ansible é outra ferramenta de software livre popular que você pode usar para complementar a funcionalidade do Terraform. No entanto, o Ansible facilita o provisionamento de recursos de nuvem e dá suporte ao gerenciamento de configuração e às implantações de aplicativos.
Bicep
O Bicep oferece um método de provisionamento declarativo alternativo para o Terraform. Embora ele tenha como destino exclusivamente os recursos do Azure, você pode se beneficiar de vários recursos de integração e usabilidade comuns em tecnologias baseadas em nuvem da Microsoft.
Observação
Para obter uma comparação abrangente entre o Bicep e o Terraform, confira Comparação entre o Terraform e o Bicep.
O Azure dá suporte a dois tipos de modelos para provisionamento declarativo:
Modelo do Azure Resource Manager: Este modelo usa o formato de arquivo padrão aberto JSON (JavaScript Object Notation).
Modelo Bicep: Esse modelo se baseia em uma DSL (linguagem específica de domínio), que a Microsoft desenvolveu recentemente para simplificar a experiência de autoria de modelo e aprimorar a funcionalidade resultante.
Você pode usar esses dois modelos para implantar praticamente qualquer recurso do Azure. Esses modelos também se integram facilmente aos sistemas de controle de versão e aos pipelines de implantação, resultando em automação e confiabilidade aprimoradas. No entanto, em comparação com os modelos do Azure Resource Manager, os modelos do Bicep oferecem vários benefícios adicionais, incluindo uma sintaxe mais concisa e gerenciamento de dependências interno.
O que faremos?
Neste módulo, você escolherá o método de implantação ideal para provisionar VMs Linux no Azure. Sua escolha dependerá dos critérios estabelecidos durante a fase de planejamento da implantação.
Qual é a meta principal?
Ao final deste módulo, você poderá provisionar VMs do Azure executando o Linux usando a metodologia de implantação de sua escolha. Você também terá uma melhor compreensão dos casos de uso mais adequados para cada método.