Em implantação de software, um ambiente ou camada é um sistema de computador no qual um programa ou componente de software é implantado e executado. Em casos simples, como o desenvolvimento e a execução imediata de um programa na mesma máquina, pode haver um ambiente único, mas no uso em produção, o ambiente de desenvolvimento (onde as alterações são originalmente feitas) e o ambiente de produção (o que os usuários finais usam) são separados, frequentemente com várias etapas intermediárias. Esse processo estruturado de gerenciamento de liberação permite implantação em fases (rollout), teste e reversão em caso de problemas.
Os ambientes podem variar significativamente em tamanho: o ambiente de desenvolvimento normalmente é uma estação de trabalho de um desenvolvedor individual, enquanto o ambiente de produção pode ser uma rede de muitas máquinas geograficamente distribuídas em centros de dados ou máquinas virtuais em computação em nuvem. Código, dados e configuração podem ser implantados em paralelo e não precisam se conectar à camada correspondente - por exemplo, o código de pré-produção pode se conectar a um banco de dados de produção.
Ambientes A tabela abaixo descreve uma lista bem dividida de camadas:
Nome do Ambiente/Camada Descrição Local Estação de trabalho do desenvolvedor Desenvolvimento Servidor de desenvolvimento agindo como uma sandbox, onde o teste de unidade pode ser executado pelo desenvolvedor Integração Alvo de criação de IC ou teste de efeitos colaterais para desenvolvedores Teste/CQ/Aceitação Interna O ambiente em que o teste da interface é executado. Uma equipe de controle de qualidade garante que o novo código não tenha nenhum impacto na funcionalidade existente e testa as principais funcionalidades do sistema após a implantação do novo código no ambiente de teste. Preparação (Staging)/Modelo/Pré-produção/Aceitação do Cliente Externo/Demonstração Espelho do ambiente de produção Produção/Ativo Serve os clientes/usuários finais
Preparação (staging) Um ambiente de preparação (do inglês staging) ou pré-produção é um ambiente de teste que procura espelhar o ambiente de produção real o mais próximo possível e pode se conectar a outros serviços e dados de produção, como bancos de dados. Por exemplo, os servidores serão executados em máquinas remotas, e não localmente (como na estação de trabalho do desenvolvedor durante o desenvolvimento ou em uma única máquina de teste durante o teste), que testa os efeitos da rede no sistema.
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 a um ambiente de produção. Isso garante que todas as atualizações principais e secundárias em um ambiente de produção sejam concluídas de maneira confiável, sem erros e em um período mínimo de tempo.
Outro uso importante da preparação é o teste de desempenho, particularmente o teste de carga, pois isso geralmente é sensível ao ambiente.
A preparação também é usada por algumas organizações para visualizar novos recursos para selecionar clientes ou validar integrações com versões ativas de dependências externas.
Integração de frameworks Desenvolvimento, Preparação e Produção são variáveis de ambiente conhecidas e documentadas no ASP.NET Core. Dependendo da variável definida, um código diferente é executado e o conteúdo é renderizado, diferentes configurações de segurança e depuração são aplicadas.
Ver também Gerenciamento de Ciclo de Vida de Aplicativos Ambiente de desenvolvimento integrado Desenvolvimento de software
Categoria:Processo de desenvolvimento de software Categoria:Liberação de software