Criar uma fábrica de imagens personalizadas 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?
Uma fábrica de imagens é uma solução de configuração como código que cria e distribui imagens automaticamente regularmente com todas as configurações desejadas. As imagens na fábrica de imagens estão sempre atualizadas, e a manutenção contínua é quase zero, uma vez que todo o processo é automatizado. E, como todas as configurações necessárias já estão na imagem, ele economiza tempo de configurar manualmente o sistema depois que uma VM foi criada com o sistema operacional base.
O acelerador significativo para colocar um desktop de desenvolvedor em um estado pronto no DevTest Labs é usar imagens personalizadas. A desvantagem das imagens personalizadas é que há algo extra para manter no laboratório. Por exemplo, as versões de avaliação dos produtos expiram com o tempo (ou) as atualizações de segurança recém-lançadas não são aplicadas, o que nos força a atualizar a imagem personalizada periodicamente. Com uma fábrica de imagens, você tem uma definição da imagem verificada para controle do código-fonte e tem um processo automatizado para produzir imagens personalizadas com base na definição.
A solução permite a velocidade de criação de máquinas virtuais a partir de imagens personalizadas, eliminando custos adicionais de manutenção contínua. Com essa solução, você pode criar automaticamente imagens personalizadas, distribuí-las para outros laboratórios DevTest e aposentar as imagens antigas. Todos os scripts do Azure PowerShell estão disponíveis gratuitamente e localizados aqui: https://aka.ms/dtlimagefactory.
Visão de alto nível da solução
A solução permite a velocidade de criação de máquinas virtuais a partir de imagens personalizadas, eliminando custos adicionais de manutenção contínua. Com esta solução, você pode criar automaticamente imagens personalizadas e distribuí-las para outros laboratórios DevTest. Você usa o Azure DevOps (anteriormente Visual Studio Team Services) como o mecanismo de orquestração para automatizar todas as operações no DevTest Labs.
Há uma extensão VSTS para DevTest Labs que permite executar estas etapas individuais:
- Criar uma imagem personalizada
- Criar VM
- Excluir VM
- Criar ambiente
- Eliminar ambiente
- Preencher ambiente
Usar a extensão DevTest Labs é uma maneira fácil de começar a criar automaticamente imagens personalizadas no DevTest Labs.
Há uma implementação alternativa usando o script do PowerShell para um cenário mais complexo. Usando o PowerShell, você pode automatizar totalmente uma fábrica de imagens com base no DevTest Labs que pode ser usada em sua cadeia de ferramentas de Integração Contínua e Entrega Contínua (CI/CD). Os princípios seguidos nesta solução alternativa são:
- As atualizações comuns não devem exigir alterações na fábrica de imagens. (por exemplo, adicionar um novo tipo de imagem personalizada, desativar automaticamente imagens antigas, adicionar um novo DevTest Labs 'endpoint' para receber imagens personalizadas e assim por diante.)
- As alterações comuns são apoiadas pelo controle do código-fonte (infraestrutura como código)
- Os DevTest Labs que recebem imagens personalizadas podem não estar na mesma Subscrição do Azure (subscrições labs span)
- Os scripts do PowerShell devem ser reutilizáveis para que você possa criar mais fábricas conforme necessário
Próximos passos
Passe para o próximo artigo nesta seção: Executar uma fábrica de imagens do Azure DevOps.