Principais conceitos dos Ambientes de Implantação Azure

Neste artigo, você aprenderá sobre os principais conceitos e componentes dos Ambientes de Implantação Azure. Esse conhecimento ajuda você a implantar ambientes com mais eficiência para seus cenários.

Ao aprender sobre Ambientes de Implantação, você também encontrará componentes do Computador de Desenvolvimento da Microsoft, um serviço complementar que compartilha determinados componentes arquitetônicos. O Computador de Desenvolvimento fornece aos desenvolvedores uma estação de trabalho de desenvolvimento baseada em nuvem, chamada de computador de desenvolvimento, que é configurada com as ferramentas necessárias para o seu trabalho.

Este diagrama mostra os principais componentes dos Ambientes de Implantação e como eles se relacionam entre si. Você pode aprender mais sobre cada componente nas seções a seguir.

Diagrama mostrando os principais componentes dos Ambientes de Implantação.

Centros de desenvolvimento

Um centro de desenvolvimento é um conjunto de Projetos que exigem configurações semelhantes. Os centros de desenvolvimento permitem que os engenheiros de plataforma:

  • Usar catálogos para gerenciar modelos de IaC (infraestrutura como código) que estão disponíveis para os projetos.
  • Usar os tipos de ambientes para configurar os tipos de ambientes que as equipes de desenvolvimento podem criar.

O Computador de Desenvolvimento da Microsoft também usa centros de desenvolvimento para organizar recursos. Uma organização pode usar o mesmo centro de desenvolvimento para ambos os serviços.

Projetos

Nos Ambientes de Implantação, um projeto representa uma equipe ou função de negócios dentro da organização. Quando você associa um projeto a um centro de desenvolvimento, todas as configurações do centro de desenvolvimento são aplicadas ao projeto automaticamente.

Cada projeto pode ser associado a apenas um centro de desenvolvimento. Os engenheiros de plataforma podem configurar ambientes para um projeto especificando os tipos de ambientes apropriados para a equipe de desenvolvimento.

Para permitir que os desenvolvedores criem seus próprios ambientes de implantação, você deve fornecer acesso aos projetos para desenvolvedores atribuindo a função de Usuário de Ambientes de Implantação.

Você pode configurar projetos para Ambientes de Implantação e projetos para recursos do Computador de Desenvolvimento da Microsoft no mesmo centro de desenvolvimento.

Ambientes

O ambiente é uma coleção de recursos do Azure nos quais o aplicativo é implantado. Por exemplo, para implantar um aplicativo Web, você pode criar um ambiente que consiste em um Serviço de Aplicativo do Azure, um Azure Key Vault, um Azure Cosmos DB e uma conta de armazenamento. Um ambiente pode consistir em recursos de PaaS (plataforma como serviço) do Azure e IaaS (infraestrutura como serviço), como um cluster do AKS (Serviço de Kubernetes do Azure), máquinas virtuais e bancos de dados.

Identidades

Nos Ambientes de Implantação do Azure, você pode usar identidades gerenciadas para fornecer funcionalidades de elevação de privilégios. As identidades podem ajudar você a fornecer funcionalidades de autoatendimento para as equipes de desenvolvimento, sem fornecer a elas acesso às assinaturas de destino nas quais os recursos do Azure são criados.

A identidade gerenciada anexada ao centro de desenvolvimento precisa receber o acesso apropriado para se conectar aos catálogos. Você deve permitir ao Colaborador e Administrador de Acesso do Usuário acesso às assinaturas de implantação de destino configuradas no projeto. O serviço de Ambientes de Implantação do Azure usa a identidade gerenciada específica para executar a implantação em nome do desenvolvedor.

Tipos de ambiente do centro de desenvolvimento

Você pode definir os tipos de ambientes que as equipes de desenvolvimento podem criar, por exemplo, desenvolvimento, teste, área restrita, pré-produção ou produção. Os Ambientes de Implantação Azure fornecem a flexibilidade de nomear os tipos de ambientes de acordo com a nomenclatura usada pela sua empresa. Defina configurações para vários tipos de ambientes de acordo com as necessidades específicas das equipes de desenvolvimento.

Tipos de ambiente de projeto

Os tipos de ambientes de projeto são um subconjunto dos tipos de ambientes configurados para o centro de desenvolvimento. Eles ajudam você a pré-configurar os tipos de ambientes que as equipes de desenvolvimento específicas podem criar. Você poderá configurar a assinatura de destino na qual os recursos do Azure serão criados de acordo com o tipo de ambiente e o projeto.

Os tipos de ambientes de projeto permitirão que você aplique automaticamente o conjunto certo de políticas nos ambientes e ajuda a eliminar os conceitos relacionados à governança do Azure das equipes de desenvolvimento. O serviço também fornece a flexibilidade para pré-configurar:

  • A identidade gerenciada que é usada para executar a implantação.
  • Os níveis de acesso que as equipes de desenvolvimento obterão após a criação de um ambiente específico.

Catálogos

Os catálogos ajudam você a fornecer um conjunto de modelos de IaC coletados para que as equipes de desenvolvimento criem ambientes. A Microsoft fornece um catálogo de início rápido que contém um conjunto de definições de ambiente de exemplo. Você pode anexar o catálogo de início rápido a um centro de desenvolvimento para disponibilizar essas definições de ambiente a todos os projetos associados ao centro de desenvolvimento. Você pode modificar as definições de ambiente de exemplo para atender às suas necessidades.

Como alternativa, você pode anexar seu próprio catálogo. Você pode anexar um repositório GitHub ou um repositório do Azure DevOps Services como catálogo.

Os ambientes de implantação verificam a pasta especificada do repositório para localizar definições de ambiente. Em seguida, os ambientes disponibilizam essas definições de ambiente para todos os projetos associados ao centro de desenvolvimento.

Definições do ambiente

Uma definição de ambiente é uma combinação de modelo de IaC e um arquivo de ambiente que atua como um manifesto. O modelo define o ambiente, e o arquivo de ambiente fornece metadados sobre o modelo. As equipes de desenvolvimento usam os itens fornecidos no catálogo para criar ambientes no Azure.

Observação

Os Ambientes de Implantação do Azure usam os modelos do ARM (Azure Resource Manager).

Modelos do ARM

Os modelos do ARM ajudam você a implementar a IaC para as soluções do Azure, definindo a infraestrutura e a configuração do projeto, os recursos a serem implantados e as propriedades desses recursos.

Para saber mais sobre estrutura de um modelo do ARM, as seções de um modelo e as propriedades disponíveis nessas seções, confira Noções básicas da estrutura e da sintaxe dos modelos do Azure Resource Manager.

Funções internas

Os Ambientes de Implantação Azure têm suporte para três funções internas:

  • Administrador de Projetos do Centro de Desenvolvimento: cria ambientes e gerencia os tipos de ambiente de um projeto.
  • Usuário de Ambientes de Implantação: cria ambientes com base no acesso apropriado.
  • Leitor de Ambientes de Implantação: lê os ambientes que outros usuários criaram.

Recursos compartilhados com o Computador de Desenvolvimento da Microsoft

Os Ambientes de Implantação do Azure e o Computador de Desenvolvimento da Microsoft são serviços complementares que compartilham determinados componentes arquitetônicos. Centros de desenvolvimento e projetos são comuns a ambos os serviços e ajudam a organizar recursos em uma empresa. Você pode configurar projetos para Ambientes de implantação e projetos para recursos do Computador de Desenvolvimento no mesmo centro de desenvolvimento.

Para saber mais sobre os componentes comuns aos Ambientes de Implantação e ao Computador de Desenvolvimento, consulte Componentes comuns ao Computador de Desenvolvimento da Microsoft e aos Ambientes de Implantação Azure.