Sei que devemos ter pelo menos três ambientes diferentes ao desenvolver uma solução:
- Desenvolvimento : Os programadores são livres para alterar e enviar alterações a qualquer momento, a fim de testar rapidamente seu código e integrar-se a outras alterações, sem medo de quebrar nada - isso está conectado aos bancos de dados e serviços TEST;
- UAT : deve ser tratado com reverência pelos desenvolvedores, pois deve conter uma cópia "o melhor possível" do ambiente de produção em relação ao hardware, com a diferença de que esse ambiente está conectado aos bancos de dados UAT com uma cópia editável dos dados de produção - é usado pela equipe de perguntas e respostas e pelos usuários para validar as alterações que serão direcionadas à produção
- Produção : O negócio real.
Eu olhei para esta pergunta em Engenharia de software , e esta pergunta sobre ServerFault , e eles parecem diferir sobre o que é o significado do ambiente de teste. Além disso, a página da Wikipedia sobre o assunto afirma que:
O uso principal de um ambiente de temporariedade é testar todos os scripts e procedimentos de instalação / configuração / migração, antes de serem aplicados ao ambiente de produção. Isso garante que todas as atualizações principais e secundárias no ambiente de produção sejam concluídas de forma confiável, sem erros, em tempo mínimo.
Para mim, o armazenamento temporário é igual ao UAT, onde você deve testar os procedimentos de aplicativo e implantação antes de avançar para o mundo real. Portanto, empurramos o pacote com as alterações para o UAT da mesma maneira que empurramos para a produção, totalmente automatizados e com toda a cerimônia que deveríamos ter com o ambiente de produção.
Dito isto, qual é a diferença adequada entre um ambiente UAT e um ambiente de armazenamento temporário?
-
EDIT: Só para deixar claro, estou pensando em termos de um aplicativo da Web, seja um site da Internet ou um site da intranet. Nenhum aplicativo "forms" ou aplicativo móvel.