微型服務
API 是微型服務的前門,這表示 API 會做為一組可程式設計介面背後的應用程式邏輯,通常是 REST
微型服務實作
AWS 具備整合式建置區塊,可支援微型服務的開發。使用 AWS Lambda
利用 AWS Lambda,您可上傳程式碼,然後讓 Lambda 來處理執行所需的一切作業,並調整執行的規模,以滿足您的實際需求曲線,提供高可用性。無須管理基礎設施。Lambda 支援多種程式設計語言,並且可從其他 AWS 服務呼叫,或是從任何 Web 或行動應用程式直接呼叫。AWS Lambda 的其中一項最大優點,就是移動迅速:您可以專注在自己的商業邏輯上,因為 AWS 會管理安全性和擴展。Lambda 的主導性方法促進了可擴展平台。
如果想要減少部署作業所需投注的營運心力,一個常見的方法就是使用容器來進行部署。基於下列的優點,Docker
AWS Fargate 是一種無伺服器運算引擎,適用於同時使用 Amazon ECS 和 Amazon EKS 的容器。使用 Fargate,您完全不用操心,為容器應用程式佈建足夠的運算資源。Fargate 可以啟動數十萬個容器,並輕鬆擴展以執行您最關鍵任務的應用程式。
Amazon ECS 支援容器放置策略與限制,以自訂 Amazon ECS 放置和終止工作的方式。工作放置位置的限制是一項規則,在放置工作時會考量這項規則。您可將屬性 (基本上就是鍵值/值組) 與容器執行個體建立關聯,然後根據這些屬性,配合限制來放置工作。例如,您可以利用限制並根據執行個體類型或容量放置某些微型服務,例如運用 GPU 的執行個體。
Amazon EKS 會執行最新版本的開放原始碼 Kubernetes 軟體,所以您可使用 Kubernetes 社群中所有的現有外掛程式和工具。在 Amazon EKS 上執行的應用程式與在任何標準 Kubernetes 環境上執行的應用程式完全相容,不論是在現場部署的資料中心還是在公有雲端中執行。Amazon EKS 將 IAM 與 Kubernetes 整合在一起,讓您可以使用 Kubernetes 中的原生驗證系統註冊 IAM 實體。完全無須手動設定憑證,即可向 Kubernetes 控制平面進行驗證。IAM 的整合可讓您提供對 Kubernetes 控制平面公開端點的精細存取權,使用 IAM 直接向控制平面本身進行驗證。
用於 Amazon ECS 和 Amazon EKS 中的 Docker 影像可以存放於 Amazon Elastic Container Registry
持續整合和持續交付 (CI/CD) 是最佳實務做法,也是 DevOps 計劃至關重要的一環,能實現快速軟體變更,同時維護系統穩定性和安全性。但是,這超出了本白皮書的範圍。如需詳細資訊,請參閱在 AWS 上實作持續整合與持續交付白皮書。
私有連結
AWS PrivateLink
私有連結是提高微型服務架構隔離性和安全性的絕佳方法。例如,微型服務可部署於完全獨立的 VPC 中,在負載平衡器前面,並透過 AWS PrivateLink 端點顯現於其他微型服務。利用此設定使用 AWS PrivateLink,進出微型服務的網路流量絕對不會周遊於公有網際網路。此種隔離的某個使用案例包括處理敏感資料 (如 PCI、HIPPA 和歐盟/美國隱私盾) 等服務的法規合規。此外,無須防火牆規則、路徑定義或路由表,AWS PrivateLink 可連線不同帳戶和 Amazon VPC 的微型服務;簡化網路管理。使用 PrivateLink,軟體即服務 (SaaS) 供應商和 ISV 也可為其微型服務型解決方案提供完整的作業隔離和安全存取。