

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 上實作微服務 AWS
<a name="microservices-on-aws"></a>

發佈日期：**2023 年 7 月 31** 日 ([文件歷史記錄](document-revisions.md))

 Microservices 提供簡化的軟體開發方法，可加速部署、鼓勵創新、增強可維護性，並提高可擴展性。此方法依賴小型、鬆散的耦合服務，這些服務會透過由自主團隊管理的明確定義 APIs 進行通訊。採用微服務可提供優勢，例如改善可擴展性、彈性、彈性和更快的開發週期。

 此白皮書探索三種熱門的微服務模式：API 驅動、事件驅動和資料串流。我們提供每種方法的概觀、概述微服務的主要功能、解決其開發中的挑戰，並說明 Amazon Web Services (AWS) 如何協助應用程式團隊解決這些障礙。

 考量資料存放區、非同步通訊和服務探索等主題的複雜性質，建議您在進行架構決策時，將應用程式的特定需求和使用案例與提供的指南一起權衡。

## 簡介
<a name="introduction"></a>

 [Microservices](https://aws.amazon.com/microservices/) 架構結合來自各種欄位的成功和經過驗證的概念，例如：
+  敏捷的軟體開發 
+  服務導向架構 
+  API 優先設計 
+  持續整合/持續交付 (CI/CD) 

 通常，微服務會整合[十二要素應用程式的設計模式。](https://12factor.net/)

 雖然微服務提供許多好處，但評估使用案例的獨特需求和相關成本至關重要。在某些情況下，單體架構或替代方法可能更合適。微服務或整體之間的決策應依case-by-case進行，並考量規模、複雜性和特定使用案例等因素。

 我們首先探索高度可擴展、容錯的微服務架構 （使用者介面、微服務實作、資料存放區），並示範如何使用 AWS 容器技術在 上建置它。然後，我們建議使用 AWS 服務來實作典型的無伺服器微服務架構，從而降低操作複雜性。

 Serverless 的特性如下原則：
+  沒有要佈建或管理的基礎設施 
+  依消耗單位自動擴展 
+  「支付價值」帳單模型 
+  內建可用性和容錯能力 
+  事件驅動架構 (EDA) 

 最後，我們會檢查整體系統並討論微服務架構的跨服務層面，例如分散式監控、記錄、追蹤、稽核、資料一致性和非同步通訊。

 本文件著重於在 中執行的工作負載 AWS 雲端，不包括混合式案例和遷移策略。如需遷移策略的相關資訊，請參閱[容器遷移方法白皮書](https://d1.awsstatic.com/whitepapers/container-migration-methodology.pdf)。

## 您是 Well-Architected 嗎？
<a name="are-you-well-architected"></a>

 [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) 可協助您了解在雲端建置系統時所做決策的優缺點。架構的六個支柱可讓您了解架構最佳實務，以設計和操作可靠、安全、高效、經濟實惠且永續的系統。使用 [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/)免費提供的 [AWS 管理主控台](https://console.aws.amazon.com/wellarchitected)，您可以透過回答每個支柱的一組問題，根據這些最佳實務來檢閱工作負載。

 在 [Serverless Application Lens](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html) 中，我們專注於建構無伺服器應用程式的最佳實務 AWS。

 如需雲端架構的更多專家指導和最佳實務，請參閱[AWS 架構中心](https://aws.amazon.com/architecture/)，參考架構部署、圖表和白皮書。

## 將 現代化為微服務
<a name="modernizing-to-microservices"></a>

 Microservices 基本上是組成應用程式的小型獨立單位。從傳統單體結構轉換到微服務可以遵循[各種策略](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-decomposing-monoliths/decomposing-patterns.html)。

 此轉換也會影響您的組織運作方式：
+  它鼓勵敏捷的開發，其中團隊以快速週期運作。
+  團隊通常很小，有時被描述為*兩個比薩團隊*，足夠小到兩個比薩可以為整個團隊提供食物。
+  從建立到部署和維護，團隊對其服務負完全責任。