Expansão do ambiente de desenvolvimento

1
Development --> Staging --> Production

Um fluxo de trabalho bastante típico. Isso está bem.

"Tudo bem, você quer que um ambiente 'Beta' mostre coisas para alguns usuários / clientes que ainda não estão prontos para o horário nobre."

Development --> Staging --> Beta
                        \-> Prod

"O que você quer dizer com 'Pré-Produção'? É para isso que o Staging serve."

Eu já vi alguns casos (POUCOS!) em que mais pode ser necessário, como indústrias altamente auditadas, onde testes elaborados devem ocorrer, mas até eles parecem estar fora de controle. (Eu já trabalhei em um lugar com 11 ambientes separados!)

Alguém mais está vendo este Ambiente-Expansão? Como podemos gerenciar os desenvolvedores (e gerentes) que pensam que eles são "importantes"?

Mesmo meus pedidos de aumento de custo e complexidade parecem estar sendo ignorados, e parece que algumas das razões são a preguiça. Além de 4-5 ambientes, meu senso de espírito começa a formigar ...

    
por gWaldo 14.08.2012 / 16:58

2 respostas

1

Existem várias razões válidas para sair deste fluxo de trabalho típico. Nós não temos um ambiente de QA como o @CamelBlues sugere, afinal o código deve ser QA antes de ser marcado como completo e pronto para passar para o staging. Nós utilizamos o controle de qualidade em tempo de desenvolvimento e, portanto, não precisamos de um ambiente de controle de qualidade.

De qualquer maneira, grandes mudanças no código, como substituições de interface do usuário ou coisas que causam a necessidade de um ramo adicional de desenvolvimento, muitas vezes também exigem um lugar diferente para testar e realizar o estágio do que o ambiente de desenvolvimento principal.

Por exemplo, se estou substituindo minha UI e portando meu aplicativo para um novo sistema MVC, posso criar uma nova ramificação para realizar isso no repositório de controle de origem. No entanto, não posso executar meu código legado e o novo código MVC juntos, por isso precisaríamos de um novo ambiente para hospedar esse ramo até que ele seja concluído. Especialmente se você ainda tiver que consertar bugs ao longo do caminho.

Apenas lembre-se ... isto é EXATAMENTE para que servem as máquinas virtuais. Você pode até conseguir usar as licenças de avaliação de 60 a 90 da Microsoft (se for sua plataforma) para fins de desenvolvimento e teste. Realmente não importa quantos ambientes são solicitados (dentro do razoável e comparados ao tamanho da sua equipe) porque você deve ter uma plataforma para girar as máquinas de maneira fácil e rápida, é assim que as lojas virtuais maiores operam e realmente permitem que os desenvolvedores e desenvolvedores testem. -out VMs para usar.

Atualização: Acabamos de conferir nosso ambiente e também temos uma pré-produção. É usado pelo release & equipe de implantação para testar as instruções e correções para fazer uma verificação a seco antes de realmente tocar nas caixas de produção. Dá a eles um buffer.

    
por 14.08.2012 / 17:09
0

Eu não necessariamente chamaria isso de "expansão", já que parece que você está perdendo um ambiente de controle de qualidade.

Desenvolvimento - > QA - > Encenação - > Produção

é outro fluxo de trabalho que você poderia usar.

O desenvolvimento e o controle de qualidade podem ser um ambiente interno de desenvolvimento e gerenciamento, enquanto o preparo e a produção podem estar voltados para o cliente.

[editar]

Você pode querer ter no máximo 4 ambientes e controles de acesso rigorosos sobre quem pode implantar em qual ambiente (para evitar ataques cardíacos). Se a gerência começar a solicitar ambientes beta ou pré-beta, etc., envie-os para o controle de qualidade ou para o teste e informe que é o ambiente "beta".

Acho que bloquear o acesso ajudará a controlar a expansão. Se você estiver executando um servidor de IC, poderá limitar a implantação à produção, colocando um campo de senha na configuração do trabalho de construção e verificando o script de construção em uma senha codificada no script. ou seja:

if [ $PASSWORD == 'foo' ]
 build_app();
else
 exit 1;

Sim, é uma total segurança de hack e faux, mas tem o efeito psicológico de impedir que as pessoas sejam implantadas para a produção de alto nível e, em vez disso, permaneçam com os ambientes mais fáceis de implantar.

    
por 14.08.2012 / 17:04