Criar uma fábrica de Imagens no Azure DevTest Labs

Este artigo mostra como configurar uma fábrica de imagens personalizada usando scripts de exemplo disponíveis no repositório Git.

O que é uma fábrica de imagens?

Um alocador de imagens é uma solução de configuração como código que cria e distribui imagens automática e regularmente com todas as configurações desejadas. As imagens no alocador de imagens estão sempre atualizadas, e a manutenção contínua é quase zero depois que o processo inteiro é automatizado. Além disso, como todas as configurações necessárias já estão na imagem, ela economiza o tempo de configurar manualmente o sistema após a criação de uma VM com o sistema operacional base.

Usar imagens personalizadas é um acelerador significativo para levar uma área de trabalho de desenvolvedor a um estado pronto no DevTest Labs. A desvantagem das imagens personalizadas é que há algo extra a ser mantido no laboratório. Por exemplo, as versões de avaliação de produtos expiram ao longo do tempo (ou) atualizações de segurança recém-liberadas não são aplicadas, o que nos obriga a atualizar a imagem personalizada periodicamente. Com uma fábrica de imagens, você tem uma definição da imagem verificada no controle do código-fonte e tem um processo automatizado para produzir imagens personalizadas baseadas na definição.

A solução possibilita velocidade na criação de máquinas virtuais a partir de imagens personalizadas, ao mesmo tempo que elimina custos adicionais de manutenção contínua. Com essa solução, você pode criar automaticamente imagens personalizadas, distribuí-las a outros DevTest Labs e desativar as imagens antigas. Todos os scripts do Microsoft Azure PowerShell estão disponíveis gratuitamente aqui: https://aka.ms/dtlimagefactory.


Visão de alto nível da solução

A solução possibilita velocidade na criação de máquinas virtuais a partir de imagens personalizadas, ao mesmo tempo que elimina custos adicionais de manutenção contínua. Com essa solução, você pode criar automaticamente imagens personalizadas e distribuí-las a outros DevTest Labs. Use o Azure DevOps (antigo Visual Studio Team Services) como o mecanismo de orquestração para automatizar todas as operações no DevTest Labs.

High-level view of the solution.

Há uma Extensão do VSTS para DevTest Labs que permite executar estas etapas individuais:

  • Criar imagem personalizada
  • Criar VM
  • Excluir VM
  • Criar ambiente
  • Excluir ambiente
  • Popular ambiente

Usar a extensão de DevTest Labs é uma maneira fácil de começar a criar automaticamente imagens personalizadas no DevTest Labs.

Há uma implementação alternativa que usa o script do PowerShell para obter um cenário mais complexo. Usando o PowerShell, você pode automatizar totalmente uma fábrica de imagens baseada no DevTest Labs que pode ser usada em sua cadeia de ferramentas de CI/CD (integração contínua e entrega contínua). Os princípios seguidos nesta solução alternativa são:

  • Atualizações comuns não devem exigir nenhuma alteração na fábrica de imagens. (por exemplo, adicionar um novo tipo de imagem personalizada, desativar automaticamente imagens antigas, adicionar um novo DevTest Labs de 'ponto de extremidade' para receber imagens personalizadas e assim por diante.)
  • Alterações comuns são apoiadas pelo controle do código-fonte (infraestrutura como código)
  • O DevTest Labs que recebe imagens personalizadas pode não estar na mesma Assinatura do Azure (assinaturas de intervalo de laboratórios)
  • Os scripts do PowerShell devem ser reutilizáveis para que possamos ativar alocadores adicionais conforme necessário

Próximas etapas

Vá para o próximo artigo nesta seção: Executar um alocador de imagens do Azure DevOps.