

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

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

 **預期成果：** 您有多個環境可反映您的合規和管控需求。您透過環境測試並推廣程式碼，以逐步實現生產環境。 

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

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

 **未建立此最佳實務時的曝險等級：** 中 

## 實作指引
<a name="implementation-guidance"></a>

 使用多個環境，並且對開發人員沙盒環境實施最低限度的控制，以協助實驗。提供多個單獨的開發環境，以協助實現並行工作，進而提高開發敏捷性。在環境逐漸達到生產環境的條件時，實施更嚴格的控制，以允許開發人員創新。使用基礎設施即程式碼和組態管理系統來部署所設定控制條件與生產環境一致的環境，以確保系統在部署後依預期執行。當不使用環境時，關閉環境以避免產生與閒置資源相關的成本 (例如，在夜間和週末關閉開發系統)。進行負載測試時，部署與生產環境同等的環境，以改善有效的結果。 

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

 **相關文件：** 
+ [AWS 上的 Instance Scheduler ](https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/)
+  [什麼是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 