

# OPS05-BP08 使用多個環境
<a name="ops_dev_integ_multi_env"></a>

 使用多個環境進行實驗、開發和測試您的工作負載。當環境接近生產環境時使用更高的控制等級，以確保您的工作負載在部署後將按預期執行。 

 **常用的反模式：** 
+  您在共享開發環境中進行開發，而另一名開發人員覆寫您的程式碼變更。 
+  對共享開發環境的限制性安全控制，讓您無法試驗新服務和功能。 
+  您對生產系統執行負載測試，並給使用者造成停機。 
+  在生產環境中發生導致資料遺失的嚴重錯誤。在您的生產環境中，您嘗試重新建立導致資料遺失的條件，以便您能夠識別其發生情況並防止再次發生。為防止更多資料在測試期間遺失，您必須讓使用者無法使用應用程式。 
+  您正在操作多租用戶服務，且無法支援客戶對專用環境的要求。 
+  您可能不一定總是進行測試，但當在生產環境中時，請務必測試。 
+  您認為簡單的單一環境會覆寫環境內變更的影響範圍。 

 **建立此最佳實務的優勢：** 透過部署多個環境，您可以支援多個同時開發、測試和生產環境，而不會在開發人員或使用者社群之間產生衝突。 

 **若未建立此最佳實務，暴露的風險等級：** 中 

## 實作指引
<a name="implementation-guidance"></a>
+  使用多個環境：為開發人員沙盒環境施加最少的控制，以推動實驗。提供多個單獨的開發環境，以使並行工作成為可能，從而提高開發敏捷性。在接近生產的環境中實作更嚴格的控制，以允許開發人員創新。使用基礎設施即程式碼和組態管理系統，以部署設定了與生產環境一致控制的環境，從而確保系統在部署時能夠按預期執行。當不使用環境時，關閉環境以避免與空閒資源相關的成本 (例如，在夜間和周末關閉開發系統)。進行負載測試時，部署與生產環境等效的環境，以獲得有效結果。 
  +  [什麼是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [如何使用 AWS Lambda 定期停止和啟動 Amazon EC2 執行個體？](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 

## 資源
<a name="resources"></a>

 **相關文件：** 
+  [如何使用 AWS Lambda 定期停止和啟動 Amazon EC2 執行個體？](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 
+  [什麼是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 