Ambiente de implantação

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 editar

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) editar

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 [1] 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 editar

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.[2]

Ver também editar

Referências

  1. Sharma, Anurag (2018). Test Environment Management. [S.l.]: ITSM Press. p. 11. ISBN 9781912651269 
  2. «Use multiple environments in ASP.NET Core». docs.microsoft.com (em inglês). Consultado em 5 de abril de 2019 
  Este artigo sobre engenharia de software é um esboço. Você pode ajudar a Wikipédia expandindo-o.