

# COST05-BP05 選取此工作負載的元件，以按照組織優先事項來優化成本
<a name="cost_select_service_select_for_cost"></a>

 選取工作負載的所有元件時均應考量成本。這包括使用應用程式層級和受管服務或無伺服器、容器或事件驅動架構，以降低整體成本。使用開放原始碼軟體、無需授權費用的軟體或替代方案，藉以將授權成本降至最低。 

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

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

 選取所有元件時均應考量服務和選項的成本。這包括使用應用程式層級和受管服務，例如 [Amazon Relational Database Service](https://aws.amazon.com/rds/) (Amazon RDS)、 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)、 [Amazon Simple Notification Service](https://aws.amazon.com/sns/) (Amazon SNS)、和 [Amazon Simple Email Service](https://aws.amazon.com/ses/) (Amazon SES) 以降低整體組織成本。 

 使用無伺服器和容器執行運算，例如 [AWS Lambda](https://aws.amazon.com/lambda/) 和 [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3) 靜態網路適用。在情況允許時將應用程式容器化，並使用 AWS 受管容器服務，例如 [Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (Amazon ECS) 或 [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/) (Amazon EKS)。 

 使用開放原始碼軟體或沒有授權費用的軟體，將授權成本降到最低 (例如，用於運算工作負載的 Amazon Linux，或將資料庫遷移到 Amazon Aurora)。 

 您可以使用無伺服器或應用程式層級服務，例如 [Lambda](https://aws.amazon.com/lambda/)、 [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/)、 [Amazon SNS](https://aws.amazon.com/sqs/)和 [Amazon SES](https://aws.amazon.com/ses/)。這些服務讓您無須管理資源，並提供程式碼執行、佇列服務和訊息傳遞功能。另一個好處是，這些服務可隨用量擴展效能和成本，因此能夠有效率地分配成本和劃分歸屬。 

 使用 [事件驅動架構](https://aws.amazon.com/what-is/eda/) 也可以搭配無伺服器服務。事件驅動架構是推送架構，因此一切都會在事件呈現於路由器時隨需進行。如此，您就無須付費持續進行輪詢以檢查事件。這表示網路頻寬耗用量、CPU 使用率、閒置機群容量和 SSL/TLS 交握都可降低。 

 如需有關無伺服器的詳細資訊，請參閱 [Well-Architected 無伺服器應用程式聚焦白皮書。](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html) 

### 實作步驟
<a name="implementation-steps"></a>
+  **選取每個服務以最佳化成本：** 使用您的優先順序清單和分析，選取最符合您組織優先事項的每個選項。與其增加容量以符合需求，您應考慮使用其他選項，以較低的成本獲得更好的效能。例如，您應審查資料庫在 AWS 上的預期流量，並考慮增加執行個體大小，或使用 Amazon ElastiCache 服務 (Redis 或 Memcached) 為資料庫提供快取的機制。 
+  **評估事件驅動架構：** 使用無伺服器架構也可讓您為分散式微型服務應用程式建置事件驅動架構，以利設計可擴展、彈性、敏捷且符合成本效益的解決方案。 

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

 **相關文件：** 
+  [AWS 總體擁有成本 (TCO) 計算器](https://aws.amazon.com/tco-calculator/) 
+  [AWS 無伺服器](https://aws.amazon.com/serverless/) 
+  [什麼是事件驅動架構](https://aws.amazon.com/what-is/eda/) 
+  [Amazon S3 儲存類別](https://aws.amazon.com/s3/storage-classes/) 
+  [雲端產品](https://aws.amazon.com/products/) 
+  [Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/elasticache/redis) 

 **相關範例：** 
+  [事件驅動架構入門](https://aws.amazon.com/blogs/compute/getting-started-with-event-driven-architecture/) 
+  [事件驅動架構](https://aws.amazon.com/event-driven-architecture/) 
+  [如何利用 Amazon ElastiCache (Redis OSS) 提高成本效益達 100 倍以上](https://aws.amazon.com/blogs/database/how-statsig-runs-100x-more-cost-effectively-using-amazon-elasticache-for-redis/) 
+  [使用 AWS Lambda 函數的最佳實務](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) 