Usar ferramentas de automação de infraestrutura com máquinas virtuais no Azure

Aplica-se a: ✔️ VMs Linux VMs ✔️ ✔️ do Windows Conjuntos de escala flexíveis Conjuntos ✔️ de balanças uniformes

Para criar e gerenciar máquinas virtuais (VMs) do Azure de maneira consistente em escala, normalmente é desejada alguma forma de automação. Há muitas ferramentas e soluções que permitem automatizar todo o ciclo de vida de implantação e gerenciamento da infraestrutura do Azure. Este artigo apresenta algumas das ferramentas de automação de infraestrutura que você pode usar no Azure. Essas ferramentas geralmente se encaixam em uma das seguintes abordagens:

  • Automatize a configuração de VMs

  • Automatize o gerenciamento de infraestrutura

    • As ferramentas incluem Packer para automatizar compilações de imagens de VM personalizadas e Terraform para automatizar o processo de compilação de infraestrutura.
    • A Automação do Azure pode executar ações em sua infraestrutura do Azure e local.
  • Automatize a implantação e a entrega de aplicativos

Terraform

Terraform é uma ferramenta de automação que permite definir e criar uma infraestrutura inteira do Azure com uma única linguagem de formato de modelo - a Linguagem de Configuração HashiCorp (HCL). Com o Terraform, você define modelos que automatizam o processo para criar recursos de rede, armazenamento e VM para uma determinada solução de aplicativo. Você pode usar seus modelos Terraform existentes para outras plataformas com o Azure para garantir a consistência e simplificar a implantação da infraestrutura sem precisar converter em um modelo do Azure Resource Manager.

Aprenda a:

Azure Automation

A Automação do Azure usa runbooks para processar um conjunto de tarefas nas VMs de destino. A Automação do Azure é usada para gerenciar VMs existentes em vez de criar uma infraestrutura. A Automação do Azure pode ser executada em VMs Linux e Windows e em máquinas virtuais ou físicas locais com um runbook worker híbrido. Os runbooks podem ser armazenados em um repositório de controle do código-fonte, como o GitHub. Esses runbooks podem ser executados manualmente ou em um cronograma definido.

A Automação do Azure também fornece um serviço de Configuração de Estado Desejado (DSC) que permite criar definições de como um determinado conjunto de VMs deve ser configurado. Em seguida, o DSC garante que a configuração necessária seja aplicada e que a VM permaneça consistente. O Azure Automation DSC é executado em máquinas Windows e Linux.

Aprenda a:

Serviços de DevOps do Azure

Os Serviços de DevOps do Azure são um conjunto de ferramentas que o ajudam a partilhar e controlar código, a utilizar compilações automatizadas e a criar um pipeline completo de integração e desenvolvimento contínuo (CI/CD). Os Serviços de DevOps do Azure integram-se com o Visual Studio e outros editores para simplificar a utilização. Os Serviços de DevOps do Azure também podem criar e configurar VMs do Azure e, em seguida, implantar código nelas.

Saiba mais sobre:

Modelo Azure Resource Manager

O Azure Resource Manager é o serviço de implantação e gerenciamento do Azure. Ele fornece uma camada de gerenciamento que permite criar, atualizar e excluir recursos em sua assinatura do Azure. Pode utilizar funcionalidades de gestão, como controlo de acesso, bloqueios e etiquetas, para proteger e organizar os seus recursos após a implementação.

Aprenda a:

Bicep

O Bicep é uma linguagem específica do domínio que utiliza sintaxe declarativa para implementar recursos do Azure. Em um arquivo Bicep, você define a infraestrutura que deseja implantar no Azure e, em seguida, usa esse arquivo durante todo o ciclo de vida do desenvolvimento para implantar repetidamente sua infraestrutura. Seus recursos são implantados de maneira consistente.

Comece com o Guia de início rápido.

Inicialização da cloud

Cloud-init é uma abordagem amplamente utilizada para personalizar uma VM com Linux quando arranca pela primeira vez. Pode utilizar o cloud-init para instalar pacotes e escrever ficheiros ou para configurar utilizadores e segurança. Como o cloud-init é chamado durante o processo de inicialização inicial, não há etapas extras ou agentes necessários para aplicar sua configuração. Para obter mais informações sobre como formatar corretamente seus #cloud-config arquivos, consulte o site de documentação do cloud-init. #cloud-config Os arquivos são arquivos de texto codificados em Base64.

O cloud-init também funciona em distribuições. Por exemplo, não utiliza apt-get install nem yum install para instalar um pacote. Em vez disso, pode definir uma lista dos pacotes a instalar. O cloud-init utiliza automaticamente a ferramenta de gestão de pacotes nativa para a distribuição que selecionar.

Estamos trabalhando ativamente com nossos parceiros de distribuição Linux aprovados para ter imagens habilitadas para inicialização na nuvem disponíveis no Azure Marketplace. Essas imagens fazem com que suas implantações e configurações de inicialização na nuvem funcionem perfeitamente com VMs e Conjuntos de Dimensionamento de Máquina Virtual. Saiba mais detalhes sobre o cloud-init no Azure:

DSC do PowerShell

A Configuração de Estado Desejado (DSC) do PowerShell é uma plataforma de gerenciamento para definir a configuração das máquinas de destino. O DSC também pode ser usado no Linux através do servidor Open Management Infrastructure (OMI).

As configurações DSC definem o que instalar em uma máquina e como configurar o host. Um mecanismo do Gerenciador de Configuração Local (LCM) é executado em cada nó de destino que processa ações solicitadas com base em configurações por push. Um servidor pull é um serviço Web executado em um host central para armazenar as configurações DSC e os recursos associados. O servidor pull se comunica com o mecanismo LCM em cada host de destino para fornecer as configurações necessárias e relatar a conformidade.

Aprenda a:

Extensão de Script Personalizado do Azure

A Extensão de Script Personalizado do Azure para Linux ou Windows baixa e executa scripts em VMs do Azure. Você pode usar a extensão ao criar uma VM ou a qualquer momento depois que a VM estiver em uso.

Os scripts podem ser baixados do armazenamento do Azure ou de qualquer local público, como um repositório GitHub. Com a Extensão de Script Personalizada, você pode escrever scripts em qualquer linguagem executada na VM de origem. Esses scripts podem ser usados para instalar aplicativos ou configurar a VM conforme desejado. Para proteger as credenciais, informações confidenciais, como senhas, podem ser armazenadas em uma configuração protegida. Essas credenciais são descriptografadas apenas dentro da VM.

Aprenda a:

Ansible

O Ansible é um mecanismo de automação para gerenciamento de configuração, criação de VM ou implantação de aplicativos. O Ansible usa um modelo sem agente, normalmente com chaves SSH, para autenticar e gerenciar máquinas de destino. As tarefas de configuração são definidas em playbooks, com vários módulos do Ansible disponíveis para realizar tarefas específicas. Para obter mais informações, consulte Como funciona o Ansible.

Aprenda a:

Chef

O Chef é uma plataforma de automação que ajuda a definir como sua infraestrutura é configurada, implantada e gerenciada. Alguns componentes incluem o Chef Habitat, para automação do ciclo de vida do aplicativo, em vez da infraestrutura, e o Chef InSpec, que ajuda a automatizar a conformidade com os requisitos de segurança e políticas. Os Clientes Chef são instalados em máquinas de destino, com um ou mais Servidores Chef centrais que armazenam e gerenciam as configurações. Para obter mais informações, consulte Visão geral do Chef.

Aprenda a:

Puppet

O Puppet é uma plataforma de automação pronta para empresas que lida com o processo de entrega e implantação de aplicativos. Os agentes são instalados em máquinas de destino para permitir que o Puppet Master execute manifestos que definem a configuração desejada da infraestrutura e das VMs do Azure. O Puppet pode se integrar a outras soluções, como Jenkins e GitHub, para um fluxo de trabalho de devops aprimorado. Para obter mais informações, consulte Como funciona o Puppet.

Aprenda a:

Empacotador

O Packer automatiza o processo de compilação quando você cria uma imagem de VM personalizada no Azure. Você usa o Packer para definir o sistema operacional e executar scripts de pós-configuração que personalizam a VM para suas necessidades específicas. Uma vez configurada, a VM é capturada como uma imagem de disco gerenciado. O Packer automatiza o processo para criar a VM de origem, os recursos de rede e armazenamento, executar scripts de configuração e, em seguida, criar a imagem da VM.

Aprenda a:

Jenkins

Jenkins é um servidor de integração contínua que ajuda a implantar e testar aplicativos e criar pipelines automatizados para entrega de código. Existem centenas de plugins para estender a plataforma Jenkins principal, e você também pode integrar com muitos outros produtos e soluções através de webhooks. Você pode instalar manualmente o Jenkins em uma VM do Azure, executar o Jenkins de dentro de um contêiner do Docker ou usar uma imagem pré-criada do Azure Marketplace.

Aprenda a:

Próximos passos

Há muitas opções diferentes para usar ferramentas de automação de infraestrutura no Azure. Você tem a liberdade de usar a solução que melhor se adapta às suas necessidades e ambiente. Para começar e experimentar algumas das ferramentas incorporadas no Azure, consulte como automatizar a personalização de uma VM Linux ou Windows .