Compartilhar via


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

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes

Para criar e gerenciar VMs (máquinas virtuais) do Azure de maneira consistente em escala, uma forma de automação normalmente é desejada. Há muitas ferramentas e soluções que permitem automatizar o ciclo de vida completo de implantação e gerenciamento de 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:

Terraformação

O Terraform é uma ferramenta de automação que permite que você defina e crie toda uma infraestrutura do Azure com uma linguagem de formato de modelo único – 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 do Terraform existentes para outras plataformas com o Azure para garantir a consistência e simplificar a implantação de infraestrutura sem a necessidade de converter em um modelo do Azure Resource Manager.

Saiba como:

Automação do Azure

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 do Linux e do Windows e em VMs e computadores físicos locais com um trabalho de runbook 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 agendamento definido.

A Automação do Azure também fornece um serviço DSC (Desired State Configuration) 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 a VM permaneça consistente. O DSC de Automação do Azure é executado em computadores Windows e Linux.

Saiba como:

Azure DevOps Services

O Azure DevOps Services é um conjunto de ferramentas que ajudam você a compartilhar e acompanhar código, usar builds automatizados e criar um pipeline completo de CI/CD (integração e desenvolvimento contínuo). O Azure DevOps Services integra-se ao Visual Studio e a outros editores para simplificar o uso. O Azure DevOps Services também pode criar e configurar VMs do Azure e implantar código neles.

Saiba mais sobre:

Modelo do Azure Resource Manager

O Azure Resource Manager é o serviço de implementação e gestão do Azure. Ele fornece uma camada de gerenciamento que permite que você crie, atualize e exclua recursos em sua assinatura do Azure. Use recursos de gerenciamento, como controle de acesso, bloqueios e marcas, para proteger e organizar seus recursos após a implantação.

Saiba como:

Bíceps

O Bicep é um DSL (linguagem específica de domínio) que usa sintaxe declarativa para implantar 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 de desenvolvimento para implantar repetidamente a sua infraestrutura. Os seus recursos são implantados de maneira consistente.

Comece com o Início Rápido.

Cloud-init

Inicialização de nuvem é uma abordagem amplamente utilizada para personalizar uma VM do Linux, quando ela é inicializada pela primeira vez. Você pode utilizar a inicialização de nuvem para instalar pacotes e gravar arquivos, ou para configurar usuários 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. Os arquivos #cloud-config são arquivos de texto codificados em base64.

A inicialização de nuvem também funciona em distribuições. Por exemplo, você não usa apt-get install nem yum install para instalar um pacote. Em vez disso, você pode definir uma lista de pacotes para instalar. Inicialização de nuvem usa automaticamente a ferramenta de gerenciamento de pacote nativo de distribuição que você selecionar.

Trabalhamos ativamente com nossos parceiros endossados de distribuição de Linux para termos imagens de cloud-init habilitadas disponíveis no Azure Marketplace. Essas imagens fazem com que suas implantações e configurações de cloud-init funcionem perfeitamente com VMs e Conjuntos de Dimensionamento de Máquinas Virtuais. Saiba mais detalhes sobre cloud-init no Azure:

DSC do PowerShell

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

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

Saiba como:

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 Personalizado, você pode escrever scripts em qualquer idioma executado na VM de origem. Esses scripts podem ser usados para instalar aplicativos ou configurar a VM conforme desejado. Para proteger credenciais, informações confidenciais, como senhas, podem ser armazenadas em uma configuração protegida. Essas credenciais são descriptografadas apenas dentro da VM.

Saiba como:

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 computadores de destino. As tarefas de configuração são definidas em guias estratégicos, com vários módulos do Ansible disponíveis para realizar tarefas específicas. Para obter mais informações, consulte Como o Ansible funciona.

Saiba como:

Chefe de Cozinha

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ítica. Os clientes chef são instalados em computadores de destino, com um ou mais Servidores Chef centrais que armazenam e gerenciam as configurações. Para obter mais informações, consulte Uma visão geral do Chef.

Saiba como:

Marionete

O Puppet é uma plataforma de automação pronta para a empresa que lida com o processo de entrega e implantação de aplicativos. Os agentes são instalados em computadores 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 devops aprimorado. Para obter mais informações, consulte Como o Puppet funciona.

Saiba como:

Embalador

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

Saiba como:

Jenkins

O Jenkins é um servidor de integração contínua que ajuda a implantar e testar aplicativos e criar pipelines automatizados para entrega de código. Há centenas de plug-ins para estender a plataforma principal do Jenkins e você também pode se integrar a muitos outros produtos e soluções por meio 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.

Saiba como:

Próximas etapas

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 atenda às suas necessidades e ambiente. Para começar e experimentar algumas das ferramentas internas no Azure, veja como automatizar a personalização de uma VM do Linux ou do Windows .