Partilhar via


Arquitetura do Microsoft Dev Box e conceitos-chave

Este artigo descreve a arquitetura e os principais conceitos do Microsoft Dev Box para ajudá-lo a configurar o serviço com êxito. O Microsoft Dev Box oferece aos desenvolvedores acesso de autoatendimento a estações de trabalho pré-configuradas e prontas para codificar baseadas em nuvem. Você pode configurar o serviço para atender sua equipe de desenvolvimento e estrutura de projeto, gerenciar a segurança e as configurações de rede para acessar recursos com segurança.

Assista a este vídeo para saber mais sobre o Microsoft Dev Box:

Principais componentes e relações

Antes que os desenvolvedores possam criar caixas de desenvolvimento no portal do desenvolvedor, você configura um centro de desenvolvimento e um projeto no Microsoft Dev Box.

O fluxo de trabalho principal envolve:

  1. Configurando um centro de desenvolvimento com recursos compartilhados
  2. Criação de projetos para equipas ou funções de negócio
  3. Configurando pools de caixas de desenvolvimento com configurações específicas
  4. Desenvolvedores criando caixas de desenvolvimento a partir de pools através do portal

Quando uma caixa de desenvolvimento estiver em execução, os desenvolvedores poderão se conectar remotamente a ela a partir do portal do desenvolvedor. Os usuários da caixa de desenvolvimento têm controle total sobre as caixas de desenvolvimento que criam e podem gerenciá-las a partir do portal do desenvolvedor.

Centro de desenvolvimento

Um centro de desenvolvimento é o recurso de nível superior e a coleção de projetos que exigem configurações semelhantes. Não há limite para o número de centros de desenvolvimento que você pode criar, mas a maioria das organizações precisa de apenas um.

Os centros de desenvolvimento permitem que os engenheiros de plataforma configurem as redes que as equipes de desenvolvimento consomem usando conexões de rede.

Os Ambientes de Implantação do Azure também usam centros de desenvolvimento para organizar recursos. Uma organização pode usar o mesmo centro de desenvolvimento para ambos os serviços.

Catalogs

Os catálogos na Caixa de Desenvolvimento são coleções de tarefas e scripts que automatizam a configuração de caixas de desenvolvimento durante o provisionamento. Ao anexar um catálogo a um centro de desenvolvimento, você disponibiliza suas tarefas para todos os projetos dentro desse centro de desenvolvimento. Como alternativa, você pode anexar um catálogo diretamente a um projeto para limitar a disponibilidade da tarefa a esse projeto específico. Você pode personalizar as tarefas de exemplo fornecidas ou criar seus próprios catálogos para atender aos requisitos da sua equipe.

Os catálogos também contêm arquivos de definição de imagem para personalizações específicas da equipe.

Para saber como criar personalizações da Caixa de Desenvolvimento, consulte Personalizações da Caixa de Desenvolvimento da Microsoft.

Projeto

Na Dev Box, um projeto representa uma equipe ou função de negócios dentro da organização e é o ponto de acesso para as equipes de desenvolvimento. Cada projeto é uma coleção de pools de ambientes de desenvolvimento, e cada pool representa uma região ou carga de trabalho. Quando você associa um projeto a um centro de desenvolvimento, todas as configurações no nível do centro de desenvolvimento são aplicadas ao projeto automaticamente.

Cada projeto pode ser associado a apenas um centro de desenvolvimento. Os gerentes de desenvolvimento configuram as caixas de desenvolvimento disponíveis para um projeto criando pools de caixas de desenvolvimento que especificam definições de imagem, imagens personalizadas, imagens de mercado ou definições de caixa de desenvolvimento herdadas.

Para permitir que os desenvolvedores criem suas próprias caixas de desenvolvimento, você deve fornecer acesso a projetos para desenvolvedores atribuindo a função Usuário da Caixa de Desenvolvimento.

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

Políticas do projeto

Uma política de projeto no Microsoft Dev Box define quais recursos, como imagens, redes e SKUs, estão disponíveis para um projeto, impondo governança e conformidade. Ele garante que as equipes de desenvolvimento só possam usar recursos aprovados, ajudando as organizações a controlar e simplificar o uso de recursos.

Pool de caixas de desenvolvimento

Um pool de caixas de desenvolvimento é uma coleção de caixas de desenvolvimento que você gerencia em conjunto e às quais aplica configurações semelhantes. Você pode criar vários pools de caixas de desenvolvimento para dar suporte às necessidades de equipes híbridas que trabalham em regiões diferentes ou em cargas de trabalho diferentes.

Os pools de caixas de desenvolvimento especificam a configuração para caixas de desenvolvimento, incluindo a fonte da imagem (definição de imagem, imagem personalizada, imagem de mercado ou definição de caixa de desenvolvimento herdada), tamanho de computação, armazenamento, conexão de rede e outras configurações. Todas as caixas de desenvolvimento criadas a partir de um pool de caixas de desenvolvimento compartilham a mesma configuração.

Definições de imagem

As definições de imagem são arquivos de personalização baseados em YAML que definem uma imagem base e aplicam personalizações específicas da equipe. Eles podem ser incorporados em imagens reutilizáveis para otimizar o tempo de criação da caixa de desenvolvimento. As definições de imagem oferecem maior flexibilidade, permitindo que você selecione de forma independente o tamanho da computação e o armazenamento ao criar pools de caixas de desenvolvimento.

Para saber mais sobre como criar e usar definições de imagem, consulte Configurar personalizações de equipe.

Dev box definição

Nota

As definições de caixa de desenvolvimento são uma opção herdada. Recomendamos o uso de definições de imagem, imagens personalizadas ou imagens de mercado para maior flexibilidade na seleção de tamanho e armazenamento de computação.

Uma definição de dev box especifica uma imagem de origem e tamanho, incluindo capacidade computacional e tamanho de armazenamento em conjunto. Selecione uma imagem de origem do Azure Marketplace ou uma imagem personalizada da sua própria instância da Galeria de Computação do Azure . O Dev Box suporta edições de cliente do Windows 10 e Windows 11. Você pode usar definições de dev box em vários projetos num centro de desenvolvimento.

Para novas implantações, considere o uso de imagens do marketplace ou imagens personalizadas diretamente em seus pools de caixas de desenvolvimento, que permitem a seleção independente de configurações de computação e armazenamento.

Conexão de rede

Os administradores de TI e engenheiros de plataforma configuram a rede que usam para a criação de caixas de desenvolvimento de acordo com suas políticas organizacionais. As conexões de rede armazenam informações de configuração, como o tipo de associação do Ative Directory e a rede virtual, que as caixas de desenvolvimento usam para se conectar aos recursos da rede.

A conexão de rede associada a um pool de caixas de desenvolvimento determina onde a caixa de desenvolvimento está hospedada. Você pode usar uma conexão de rede hospedada pela Microsoft ou trazer sua própria conexão de rede do Azure. Você pode usar uma conexão de rede do Azure se precisar de controle sobre a rede virtual, se precisar de acesso a recursos corporativos ou para autenticar em uma caixa de desenvolvimento com uma conta do Ative Directory.

O Dev Box suporta dois tipos de conexões de rede:

  • Conexão de rede hospedada pela Microsoft - A Microsoft gerencia a infraestrutura de rede e os serviços relacionados para suas caixas de desenvolvimento.
  • Conexão de rede do Azure - Você gerencia a infraestrutura de rede e os serviços relacionados para suas caixas de desenvolvimento.
    • Se suas caixas de desenvolvimento precisarem se conectar exclusivamente a recursos baseados em nuvem, use a associação nativa do Microsoft Entra ID.
    • Se suas caixas de desenvolvimento precisarem se conectar a recursos locais e recursos baseados em nuvem, use a associação híbrida do Microsoft Entra ID.

Para saber mais sobre a associação nativa do Microsoft Entra e a associação híbrida do Microsoft Entra, consulte Planejar a implantação do dispositivo Microsoft Entra.

Regiões do Azure para Dev Box

Antes de configurar o Dev Box, você precisa escolher as melhores regiões para sua organização.

  • Os centros e projetos de desenvolvimento normalmente existem na mesma região que o escritório principal ou o centro de gerenciamento de TI.
  • Os pools de ambientes de desenvolvimento podem estar em diferentes regiões, dependendo da conexão de rede que utilizam. Os desenvolvedores devem criar caixas de desenvolvimento a partir de um pool próximo a eles para garantir a menor latência.

A região da rede virtual especificada numa ligação de rede determina a região para um ambiente de desenvolvimento. Você pode criar várias conexões de rede com base nas regiões onde oferece suporte aos desenvolvedores. Em seguida, você pode usar essas conexões ao criar pools de caixas de desenvolvimento para garantir que os usuários da caixa de desenvolvimento criem caixas de desenvolvimento em uma região próxima a eles. Usar uma região próxima ao usuário da caixa de desenvolvimento oferece a melhor experiência.

Para ajudá-lo a decidir sobre as regiões a utilizar, verifique:

Se a região que preferir não estiver disponível para a Caixa de Desenvolvimento, escolha uma região dentro de 500 milhas.

Caixa de desenvolvimento

Uma caixa de desenvolvimento é uma estação de trabalho pré-configurada que você cria por meio do portal do desenvolvedor de autoatendimento. Uma nova caixa de desenvolvimento tem todas as ferramentas, binários e configurações necessárias para que um usuário de caixa de desenvolvimento seja produtivo imediatamente. Você pode criar e gerenciar várias caixas de desenvolvimento para trabalhar em vários fluxos de trabalho.

Como um usuário de caixa de desenvolvimento, você tem controle sobre suas próprias caixas de desenvolvimento. Você pode criar mais à medida que precisar deles e excluí-los quando terminar de usá-los.

Os desenvolvedores podem criar uma caixa de desenvolvimento a partir de um pool de caixas de desenvolvimento usando o portal do desenvolvedor. Eles podem escolher entre um pool específico com base na imagem da máquina virtual, nos recursos de computação ou no local onde a caixa de desenvolvimento está hospedada.

Arquitetura do Microsoft Dev Box

O modelo de hospedagem em nome da arquitetura permite que os serviços da Microsoft, depois de receberem permissões adequadas e definidas para uma rede virtual por parte do titular da assinatura, anexem serviços hospedados do Azure a uma assinatura de cliente. Esse modelo de conectividade permite que um serviço da Microsoft forneça software como serviço e serviços licenciados pelo usuário, em vez de serviços baseados no consumo padrão.

O Microsoft Dev Box usa a arquitetura de hospedagem em nome, o que significa que os dev boxes existem numa subscrição pertencente à Microsoft. Portanto, a Microsoft incorre nos custos de execução e gerenciamento dessa infraestrutura. As caixas de desenvolvimento são implantadas em uma assinatura gerenciada pela Microsoft e conectadas à rede virtual do cliente.

A Microsoft Dev Box gestiona a capacidade e a disponibilidade regional nas subscrições da Microsoft Dev Box. O Microsoft Dev Box determina a região do Azure para hospedar suas caixas de desenvolvimento com base na conexão de rede selecionada ao criar um pool de caixas de desenvolvimento.

Para proteger seus dados, o Microsoft Dev Box criptografa o disco por padrão usando uma chave gerenciada pela plataforma. Você não precisa habilitar o BitLocker e isso pode impedir que você acesse sua caixa de desenvolvimento.

Para obter mais informações sobre armazenamento e proteção de dados no Azure, consulte Proteção de dados do cliente do Azure.

Para a conexão de rede, você também pode escolher entre uma conexão de rede hospedada pela Microsoft e uma conexão de rede do Azure que você cria em sua própria assinatura.

Os diagramas a seguir mostram a arquitetura lógica do Microsoft Dev Box.

Diagrama que fornece uma visão geral da arquitetura Microsoft Dev Box.

Conectividade de rede

As conexões de rede controlam onde as caixas de desenvolvimento são criadas e hospedadas e permitem que você se conecte a outros recursos do Azure ou corporativos. Dependendo do seu nível de controle, você pode usar conexões de rede hospedadas pela Microsoft ou trazer suas próprias conexões de rede do Azure.

As conexões de rede hospedadas pela Microsoft fornecem conectividade de rede de maneira SaaS. A Microsoft gerencia a infraestrutura de rede e os serviços relacionados para suas caixas de desenvolvimento. As redes hospedadas pela Microsoft são uma implementação exclusivamente na nuvem com suporte para associação ao Microsoft Entra. Esta opção não é compatível com o modelo de associação híbrida do Microsoft Entra.

Você também pode usar conexões de rede do Azure (traga sua própria rede) para se conectar a redes virtuais do Azure e, opcionalmente, conectar-se a recursos corporativos. Com as conexões de rede do Azure, você gerencia e controla toda a instalação e configuração da rede. Você pode usar as opções de associação do Microsoft Entra ou associação híbrida do Microsoft Entra com conexões de rede do Azure, permitindo que você se conecte aos Serviços de Domínio do Active Directory do Azure no local.

Se você usar sua própria rede virtual do Azure, o Microsoft Dev Box permitirá que você use recursos de segurança e roteamento da Rede Virtual, incluindo:

Na Microsoft Dev Box, você associa uma conexão de rede a um grupo de caixas de desenvolvimento no seu projeto. Todas as caixas de desenvolvimento que são criadas neste pool de caixas de desenvolvimento são hospedadas na região do Azure da conexão de rede. Se você usar conexões de rede do Azure, primeiro adicionará as conexões de rede a um centro de desenvolvimento e, em seguida, associará a conexão a um pool de caixas de desenvolvimento.

Em seguida, você pode configurar o pool de caixas de desenvolvimento e a conexão de rede para otimizar a latência para desenvolvedores nessa região geográfica. Para saber mais sobre latência em regiões do Azure, consulte Dados de latência de ida e volta por região.

Integração com o Microsoft Intune

O Microsoft Intune é usado para gerenciar suas caixas de desenvolvimento. Cada usuário do Dev Box precisa de uma licença do Microsoft Intune e pode criar várias caixas de desenvolvimento. Depois que uma caixa de desenvolvimento é provisionada, você pode gerenciá-la como qualquer outro dispositivo Windows no Microsoft Intune. Por exemplo, você pode criar perfis de configuração de dispositivo para ativar e desativar diferentes configurações no Windows ou enviar aplicativos e atualizações por push para as caixas de desenvolvimento dos usuários.

O Microsoft Intune e os componentes associados do Windows têm vários pontos de extremidade de rede que devem ser permitidos através da rede virtual. Os terminais Apple e Android podem ser ignorados com segurança se não utilizar o Microsoft Intune para gerir esses tipos de dispositivos.

Serviços de identidade

O Microsoft Dev Box usa o Microsoft Entra ID e, opcionalmente, os Serviços de Domínio Ative Directory (AD DS) locais. O Microsoft Entra ID fornece:

  • Autenticação de usuário para o portal do desenvolvedor do Microsoft Dev Box.
  • Serviços de identidade de dispositivos para o Microsoft Intune através da inscrição híbrida do Microsoft Entra ou da inscrição do Microsoft Entra.

Quando você configura caixas de desenvolvimento para usar a associação híbrida do Microsoft Entra, o AD DS fornece:

  • Ingresso de domínio local para as caixas de desenvolvimento.
  • Autenticação de usuário para as conexões RDP (Remote Desktop Protocol).

Quando você configura caixas de desenvolvimento para usar a associação do Microsoft Entra, a ID do Microsoft Entra fornece:

  • O mecanismo de associação de domínio para as caixas de desenvolvimento.
  • Autenticação de usuário para conexões RDP.

Nota

O Microsoft Dev Box suporta contas corporativas e de estudante. Não suporta a utilização de contas de convidado ou contas pessoais.

Conectividade do usuário

Quando uma caixa de desenvolvimento está em execução, os desenvolvedores podem se conectar a ela a partir do portal do desenvolvedor.

A conectividade da caixa de desenvolvimento é fornecida pela Área de Trabalho Virtual do Azure. Nenhuma conexão de entrada direta da internet é feita para a caixa de desenvolvimento. Em vez disso, as seguintes conexões são feitas:

  • Da caixa de desenvolvimento para os pontos de extremidade da Área de Trabalho Virtual do Azure
  • Dos clientes de Ambiente de Trabalho Remoto para os pontos de extremidade do Ambiente de Trabalho Virtual do Azure.

Para obter mais informações sobre esses pontos de extremidade, consulte FQDNs e pontos de extremidade necessários para a Área de Trabalho Virtual do Azure. Para facilitar a configuração dos controles de segurança de rede, use marcas de serviço para a Área de Trabalho Virtual do Azure para identificar esses pontos de extremidade. Para obter mais informações, consulte Visão geral das marcas de serviço do Azure.

Não há nenhum requisito para configurar suas caixas de desenvolvimento para fazer essas conexões. O Microsoft Dev Box integra perfeitamente os componentes de conectividade da Área de Trabalho Virtual do Azure na galeria ou em imagens personalizadas.

Para saber mais sobre a arquitetura de rede da Área de Trabalho Virtual do Azure, consulte Noções básicas sobre a conectividade de rede da Área de Trabalho Virtual do Azure.

O Microsoft Dev Box não oferece suporte a agentes de conexão que não sejam da Microsoft.

Comece a utilizar o Microsoft Dev Box

Para começar a usar o Microsoft Dev Box, precisa configurar um centro de desenvolvimento. Um centro de desenvolvimento é um repositório para os seus projetos e recursos. Pode criar um centro de desenvolvimento no portal do Azure e, em seguida, criar projetos dentro desse centro de desenvolvimento. Cada projeto pode ter o seu próprio conjunto de recursos, incluindo máquinas de desenvolvimento, redes e imagens.

Inicie a sua jornada com o Dev Box usando um modelo básico: Microsoft Dev Box.

Novidades no Microsoft Dev Box

Para saber mais sobre as últimas funcionalidades e atualizações no Microsoft Dev Box, consulte Novidades no Microsoft Dev Box.