Tenho algumas perguntas para os gurus do Azure. Eu trabalho para uma empresa de desenvolvimento de software e fui solicitado a criar nossa infraestrutura Azure. A ideia que tive é criar três assinaturas pré-pagas para os seguintes departamentos:
1) Produção (ambiente ao vivo). 2) Garantia de Qualidade. 3) Teste.
Minhas perguntas são:
1) Ao criar recursos como sites; máquinas virtuais e outros, elas podem ser migradas entre as várias assinaturas? Aqui está um cenário: digamos que estamos lançando um novo aplicativo, mas primeiro precisamos testá-lo. Então, primeiro o colocamos em Teste. Depois de realizados testes rigorosos, passamos para a Garantia de Qualidade. Posteriormente, passamos para Produção (ambiente ativo) quando todas as verificações de qualidade forem esgotadas. 2) Também estou desenvolvendo uma matriz de segurança onde um usuário de um departamento não pode alterar nada em outro departamento.
O que dizem vocês, senhoras e senhores? É viável?
Responder1
Michael - o processo de migração que você usará dependerá muito da infraestrutura/serviço subjacente que você está usando.
Como ponto de partida, sugiro ver como você pode usar serviços de compilação para implantar automaticamente o software que você cria. ODocumentação do MSDNé um bom ponto de partida.
- Sites e serviços em nuvem (funções da Web ou de trabalho): você precisará reimplantar seu código na instância apropriada na assinatura correta. Você não pode “mover” a infraestrutura de hospedagem subjacente.
- Serviços hospedados em máquinas virtuais: você pode mover VMs entre assinaturas, mas isso requer muito esforço, dependendo de quais outras dependências você possui (redes, bancos de dados, etc.). Sua melhor aposta é tentar adotar a mesma abordagem que você usaria para sites/serviços em nuvem.
- Banco de Dados SQL do Azure: você precisa fazer backup/restaurar o banco de dados entre as assinaturas.
- Outros serviços do Azure: dependerão muito do que for implantado (desculpe se este for vago, mas há muitas peças móveis no Azure).
Normalmente, encontrar maneiras de criar scripts ou automatizar a implantação/reimplantação de quaisquer soluções que você construir seria um tempo bem gasto em seu cenário.
Responder2
Usamos o Visual Studio Online (VSO) para compilações e implantações automatizadas em nossos diferentes ambientes Azure. Isto funcionaria quer estivesse a separar os seus ambientes por subscrição diferente ou a utilizar diferentes Grupos de Recursos na mesma subscrição.
Nossa configuração é que cada check-in de código gira em torno de uma compilação, executa os testes de unidade e, se for bem-sucedido, aciona a implantação no ambiente de teste.
Em seguida, nosso departamento de controle de qualidade enfileira rotineiramente uma construção por meio do VSO, selecionando um conjunto de alterações/data específico. Se os testes de construção e de unidade forem bem-sucedidos, isso acionará uma implantação para controle de qualidade. Esta compilação também é tecnicamente construída para produção, mas não é implantada para produção.
Eles fazem todo o trabalho de garantia de qualidade e, se tudo correr bem, eles enviam sua aprovação para seu lado da lógica do gatekeeper integrada ao VSO. Em seguida, configuramos para que outras duas pessoas tenham que assinar o envio da versão para produção (que pode ser imediata ou programada).
Se você estiver no local, poderá usar o TFS, que é essencialmente a mesma coisa.
TLDR; Você pode fazer isso por meio do VSO e integrá-lo ao Azure Active Directory para autenticação e controle.