實作 AWS 上的微型服務
出版日期: 2021 年 11 月 9 日 (文件歷史記錄和貢獻者)
摘要
微型服務是一種架構與組織方法,旨在加速已建立之軟體開發的部署週期、促進創新與權責分工、改善軟體應用程式的可維護性和可擴展性,以及使用靈活的方法來協助團隊獨立運作,藉此擴展提供軟體和服務的組織。利用微型服務方法,軟體包含了各個小型服務,服務之間透過定義明確且可獨立部署的應用程式介面 (API) 進行通訊。這些服務皆由小型的自主團隊負責。這個靈活的方法是擴展您組織的成功關鍵。
AWS 客戶建置微型服務時的三種常見模式為:API 導向、活動導向和資料串流。本白皮書介紹了微型服務的三種方法,並摘要說明這些方法的共同特性,探討建置微型服務的主要挑戰,及產品團隊可如何使用 Amazon Web Services (AWS),來克服這些挑戰。
由於本白皮書中討論的各種主題性質相當複雜,包括資料存放區、非同步通訊和服務探索,除了在進行架構選項之前提供的指導之外,建議您考慮其應用程式的特定要求及使用案例。
簡介
微型服務架構並非全新的軟體工程方法,而是將成功的和經過驗證的概念加以彙總組合,例如:
-
敏捷式軟體開發
-
服務導向架構
-
API 優先設計
-
持續整合/持續交付 (CI/CD)
在許多的情況中,微型服務採用 12 要素應用程式
本白皮書首先說明高度可擴展、容錯型微型服務架構 (使用者介面、微型服務實作與資料存放區) 的不同面向,以及運用容器技術,在 AWS 上建置此架構。接著,其會建議適合的 AWS 服務,這些服務可用來建置典型的無伺服器微型服務架構,以降低營運的複雜度。
無伺服器定義為操作模式,採用的原則如下:
-
無須佈建或管理基礎設施
-
依照消耗單位自動調整規模
-
按價值付費計費模式
-
內建可用性與容錯能力
最後,本白皮書涵蓋整體系統,並說明微型服務架構的跨服務面向,例如分散式監控與稽核、資料一致性和非同步通訊。
本白皮書僅著重於 AWS 雲端中執行的工作負載。其不包含混合案例或遷移策略。如需有關遷移的詳細資訊,請參閲容器遷移方法