Introdução
O Microsoft Azure oferece suporte a vários métodos para provisionar recursos para uma máquina virtual (VM) Linux e fazer a transição de cargas de trabalho existentes baseadas em Linux.
Cenário de exemplo
Suponha que você tenha sido contratado por uma empresa de serviços financeiros para fazer a transição de suas cargas de trabalho locais existentes baseadas em Linux para o Azure. Você selecionou Infraestrutura como serviço (IaaS) e Plataforma como serviço (PaaS) 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 Linux. Suas opções incluem o portal do Azure, a CLI do Azure e os modelos Terraform e Bicep.
Revisar os principais métodos de implantação
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 às ferramentas de linha de comando. Sua interface gráfica baseada em navegador é projetada para ajudar com a implantação de recursos e tarefas de gerenciamento, solicitando ao usuário todas as informações necessárias, fornecendo dicas e exibindo mensagens úteis.
CLI do Azure
A CLI do Azure é uma ferramenta de linha de comando entre plataformas 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 de shell do Linux. Você também pode incorporar a CLI do Azure em scripts que usam comandos shell Bash e utilitários GNU para automatizar o processo.
Terraform
Terraform é uma ferramenta de código aberto e multiplataforma Infrastructure as Code (IaC) que você pode usar para provisionar e configurar uma ampla gama de ambientes, incluindo nuvens públicas e privadas de vários fornecedores. Ao contrário da CLI do Azure, que fornece 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. Quando você usa 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 entregar esse resultado para você. Ele faz isso inspecionando o estado atual do seu ambiente, comparando-o com o estado de destino e, em seguida, implementando as alterações necessárias para torná-los idênticos.
Nota
O Red Hat Ansible é outra ferramenta de código aberto popular que você pode usar para complementar a funcionalidade Terraform. No entanto, o Ansible facilita o provisionamento de recursos de nuvem e suporta o gerenciamento de configuração e implantações de aplicativos.
Bicep
O Bicep oferece um método de provisionamento declarativo alternativo ao Terraform. Embora se destine exclusivamente aos recursos do Azure, pode beneficiar de várias funcionalidades de integração e usabilidade comuns nas tecnologias baseadas na nuvem da Microsoft.
Nota
Para uma comparação abrangente entre Bicep e Terraform, consulte Comparando Terraform e 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 de bíceps: esse modelo depende de uma linguagem específica de domínio (DSL), que a Microsoft desenvolveu recentemente para simplificar a experiência de criação de modelos 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 em sistemas de controle de versão e pipelines de implantação, resultando em maior automação e confiabilidade. No entanto, em comparação com os modelos do Azure Resource Manager, os modelos Bicep oferecem vários benefícios adicionais, incluindo sintaxe mais concisa e gerenciamento de dependência interno.
O que vamos fazer?
Neste módulo, você escolherá o método de implantação ideal de provisionamento de VMs Linux no Azure. Sua escolha dependerá dos critérios que foram estabelecidos durante a fase de planejamento da implantação.
Qual é o principal objetivo?
Ao final deste módulo, você poderá provisionar VMs do Azure executando 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.