

# OPS05-BP08 Usar vários ambientes
<a name="ops_dev_integ_multi_env"></a>

 Use vários ambientes para experimentar, desenvolver e testar a carga de trabalho. Use níveis crescentes de controles à medida que os ambientes se aproximam da produção para adquirir confiança de que sua carga de trabalho operará conforme pretendido quando implantada. 

 **Antipadrões comuns:** 
+  Você está realizando o desenvolvimento em um ambiente de desenvolvimento compartilhado e outro desenvolvedor substitui suas alterações de código. 
+  Os controles de segurança restritivos em seu ambiente de desenvolvimento compartilhado estão impedindo que você experimente novos serviços e recursos. 
+  Você realiza testes de carga em seus sistemas de produção e causa uma interrupção para seus usuários. 
+  Ocorreu um erro crítico na produção que resulta na perda de dados. No ambiente de produção, você tenta recriar as condições que levaram à perda de dados para identificar como isso aconteceu e impedir a recorrência. Para evitar mais perda de dados durante o teste, você é forçado a tornar a aplicação indisponível para os usuários. 
+  Você está operando um serviço multilocatário e não consegue oferecer suporte a uma solicitação do cliente para um ambiente dedicado. 
+  Talvez você não teste sempre, mas quando o faz, já está em produção. 
+  Você acredita que a simplicidade de um único ambiente substitui o escopo do impacto das alterações dentro do ambiente. 

 **Benefícios do estabelecimento desta prática recomendada:** Ao implantar vários ambientes, você pode oferecer suporte a vários ambientes simultâneos de desenvolvimento, teste e produção, sem criar conflitos entre desenvolvedores ou comunidades de usuários. 

 **Nível de exposição a riscos quando esta prática recomendada não é estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Usar vários ambientes: forneça aos desenvolvedores ambientes de área restrita para testes com controles minimizados para permitir a experimentação. Forneça ambientes de desenvolvimento individuais para permitir o trabalho em paralelo, aumentando a agilidade do desenvolvimento. Implemente controles mais rigorosos nos ambientes ao se aproximar da produção para permitir que os desenvolvedores inovem. Use a infraestrutura como sistemas de gerenciamento de código e configuração para implantar ambientes que são configurados de maneira consistente com os controles presentes na produção para garantir que os sistemas operem conforme o esperado quando implantados. Quando os ambientes não estiverem em uso, desligue-os para evitar custos associados a recursos inativos (por exemplo, sistemas de desenvolvimento à noite e fins de semana). Implante ambientes equivalentes de produção ao carregar o teste para habilitar resultados válidos. 
  +  [O que é o AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [Como interrompo e inicio instâncias do Amazon EC2 em intervalos regulares usando o AWS Lambda?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Como interrompo e inicio instâncias do Amazon EC2 em intervalos regulares usando o AWS Lambda?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 
+  [O que é o AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 