Ambiente de preparação versus ambiente de produção

70

Eu trabalho para uma empresa onde desenvolvemos aplicativos corporativos e mantemos três ambientes: desenvolvimento (ou dev ), estágio (ou estágio ) e produção (ou prod ).

O significado de dev é intuitivo: é o ambiente usado durante o desenvolvimento do aplicativo.

Qual é a diferença entre os ambientes teste e produção ?

    
por rdasxy 04.11.2011 / 21:26
fonte

5 respostas

114

Para empresas menores (não está claro quão grande é o seu), três ambientes (dev, stage, production) são comuns. As empresas maiores geralmente terão um ambiente de controle de qualidade entre o desenvolvedor e o estágio.

Eles normalmente se dividem da seguinte maneira:

dev : cópia do código de trabalho. As alterações feitas pelos desenvolvedores são implantadas aqui para que a integração e os recursos possam ser testados. Esse ambiente é atualizado rapidamente e contém a versão mais recente do aplicativo.

qa : (Nem todas as empresas terão isso). Ambiente para garantia de qualidade; isso fornece uma versão menos frequentemente alterada do aplicativo com o qual os testadores podem realizar verificações. Isso permite gerar relatórios sobre uma revisão comum, para que os desenvolvedores saibam se determinados problemas encontrados pelos testadores já foram corrigidos no código de desenvolvimento.

staging : este é o candidato a lançamento e esse ambiente normalmente é um espelho do ambiente de produção. A área de preparação contém a "próxima" versão do aplicativo e é usada para teste de esforço final e aprovações de cliente / gerente antes de entrar em operação.

production : esta é a versão atualmente lançada do aplicativo, acessível ao cliente / usuários finais. Esta versão, de preferência, não muda, exceto durante as liberações agendadas.

    
por 05.11.2011 / 00:37
fonte
13

Estou um pouco surpreso que um ambiente de teste não esteja presente também, como um local para o código ir antes de ser promovido a teste.

Para responder à pergunta:

Um ambiente de palco deve espelhar o ambiente de produção o mais próximo possível.

Ele é usado para verificação de procedimentos de implantação - garantindo que, quando o código estiver pronto para produção, ele possa ser implantado sem causar problemas.

Ou seja, o código vai para o escalonamento - isso é testado e regredido de forma abrangente para garantir que a implantação tenha sido planejada (e resolver quaisquer problemas, caso contrário).

    
por 04.11.2011 / 21:31
fonte
4

O ambiente de palco é um ambiente de pré-produção que espelha a produção. Geralmente, pode haver alguns dados de produção para que um grupo de teste composto por usuários reais e testadores de QA confirme que os dados / base de código pré-lançados serão implantados e funcionarão adequadamente em um ambiente de incentivo, geralmente por meio de casos de uso com script e regressão testes.

Como anotações @Oded, geralmente é comum ter um ambiente de controle de qualidade que os testadores de controle de qualidade usam para testar o código.

    
por 04.11.2011 / 23:33
fonte
3

Minha experiência com a TI do Departamento de Defesa dos EUA é:

  1. DEVELOPMENT / TEST é para desenvolvedores e desenvolvedores de aplicativos. Eles criam e testam aplicativos longe dos sistemas corporativos.
  2. Quando os aplicativos são concluídos, eles serão implantados no ambiente de TI no (s) servidor (es) de EMPACOTAMENTO.
  3. A partir daí, os aplicativos são suportados pela TI, migrados para o STAGING (que permite que a TI desenvolva / verifique as diretrizes de implementação, as configurações etc.). O teste do usuário pode ocorrer neste estágio até certo ponto para verificar se o aplicativo funcionará como esperado em um sistema que replica PRODUÇÃO.
  4. Se todos os planos de teste forem concluídos e eles estiverem corretos, o aplicativo será movido para PRODUÇÃO e entrará no modo de manutenção (ou seja, operações e manutenção ou O & M).
  5. Novas atualizações dos desenvolvedores também serão implantadas no PACKAGING e o processo continua.
por 08.10.2013 / 15:40
fonte
2

Como desenvolvedor web, existem basicamente três ambientes a serem considerados praticamente :

Produção : o ambiente configurado para hospedar a versão final de um produto que segmenta usuários finais. É otimizado para segurança e desempenho. Está hospedado em um servidor ao vivo. Requer suporte alertado e urgente. É crítico aos dados. Portanto, seus dados são submetidos a backup regularmente. Também envolve gerenciamento de riscos e recuperação de desastres. O ambiente de produção está configurado para mostrar erros amigáveis aos usuários finais.

Preparo : O ambiente configurado para hospedar o release candidate do aplicativo após declarar um congelamento de código. Ele se dirige ao gerente de projetos / proprietário juntamente com a equipe de desenvolvimento para chegar a um acordo sobre o escopo do release candidate. Envolve a garantia de qualidade e também a equipe de desenvolvimento para fazer as correções finais e o fornecimento final antes de liberar a produção. A melhor prática é imitar o ambiente de produção usando os dados mais recentes disponíveis de um DB ao vivo copiado do ambiente de produção. Normalmente, o ambiente de preparação só é acessível pela equipe interna e pelas partes interessadas e, portanto, é protegido em um servidor público ou publicado em um ambiente de intranet, se todas as partes interessadas puderem acessar uma rede local. O ambiente de preparação é configurado para mostrar erros técnicos médios ou completos.

Desenvolvimento : O ambiente privado configurado por um único desenvolvedor em sua máquina para verificar seu próprio trabalho durante um ciclo de desenvolvimento, normalmente chamado de sprint em um ambiente scrum. O ambiente de desenvolvimento está configurado para mostrar erros técnicos completos.

    
por 06.01.2019 / 10:52
fonte