Principais conceitos para Ambientes de Implantação do Azure

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

Ao aprender sobre Ambientes de Implantação, você pode encontrar componentes do Microsoft Dev Box, um serviço complementar que compartilha determinados componentes de arquitetura. O Dev Box fornece aos desenvolvedores uma estação de trabalho de desenvolvimento baseada em nuvem, chamada de dev box, que é configurada com as ferramentas necessárias para seu trabalho.

Este diagrama mostra os principais componentes dos Ambientes de Implantação e como eles se relacionam entre si. Você pode saber 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 é uma coleção de projetos que exigem configurações semelhantes. Os centros de desenvolvimento permitem que os engenheiros de plataforma:

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

O Microsoft Dev Box 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

Em 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 automaticamente ao projeto.

Cada projeto pode ser associado a apenas um centro de desenvolvimento. Os engenheiros de plataforma podem configurar ambientes para um projeto especificando quais tipos de ambiente são apropriados para a equipe de desenvolvimento. Para disponibilizar definições de ambiente para uma equipe de desenvolvimento específica, os administradores de projeto podem anexar um catálogo a um projeto.

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

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

Ambientes

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

Identidades

Nos Ambientes de Implantação do Azure, você usa identidades gerenciadas para fornecer recursos de elevação de privilégio. As identidades podem ajudá-lo a fornecer recursos de autoatendimento às suas equipes de desenvolvimento sem dar-lhes acesso às assinaturas de destino nas quais os recursos do Azure são criados.

A identidade gerenciada anexada ao centro de desenvolvimento ou projeto precisa receber acesso apropriado para se conectar aos catálogos. Você deve conceder ao Colaborador e ao Administrador de Acesso de Usuário acesso às assinaturas de implantação de destino configuradas no nível do projeto. O serviço 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, sandbox, pré-produção ou produção. Os Ambientes de Implantação do Azure fornecem a flexibilidade de nomear os tipos de ambiente de acordo com a nomenclatura que sua empresa usa. Você pode definir configurações para vários tipos de ambiente com base nas necessidades específicas das equipes de desenvolvimento.

Tipos de ambiente de projeto

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

Os tipos de ambiente de projeto permitem que você aplique automaticamente o conjunto certo de políticas em ambientes e ajudam a abstrair os conceitos relacionados à governança do Azure de suas equipes de desenvolvimento. O serviço também oferece a flexibilidade de pré-configurar:

  • A identidade gerenciada 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 IaC selecionados para suas equipes de desenvolvimento criarem ambientes. Você pode anexar um catálogo a um centro de desenvolvimento, disponibilizar definições de ambiente para todos os projetos associados ao centro de desenvolvimento. Você também pode anexar um catálogo a um projeto para fornecer definições de ambiente para esse projeto específico.

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 ou projeto para disponibilizar essas definições de ambiente aos desenvolvedores. 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 dos Serviços de DevOps do Azure como um catálogo.

Os ambientes de implantação verificam a pasta especificada do repositório para encontrar definições de ambiente. Essas definições de ambiente estão disponíveis para todos os projetos associados ao centro de desenvolvimento.

Definições de ambiente

Uma definição de ambiente é uma combinação de um modelo 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. Suas equipes de desenvolvimento usam os itens que você fornece no catálogo para criar ambientes no Azure.

Funções incorporadas

Os Ambientes de Implantação do Azure dão suporte a três funções internas:

  • Administrador de Projeto do Centro de Desenvolvimento: Cria ambientes e gerencia os tipos de ambiente para um projeto.
  • Usuário de ambientes de implantação: cria ambientes com base no acesso apropriado.
  • Leitor de ambientes de implantação: lê ambientes criados por outros usuários.

Recursos compartilhados com o Microsoft Dev Box

Os Ambientes de Implantação do Azure e o Microsoft Dev Box são serviços complementares que compartilham determinados componentes de arquitetura. Centros e projetos de desenvolvimento 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 da Caixa de Desenvolvimento no mesmo centro de desenvolvimento.

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