本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
簡化操作
為了進一步簡化執行、維護和監控微服務所需的操作工作,我們可以使用 完全無伺服器架構。
部署 Lambda 型應用程式
您可以透過上傳zip檔案封存,或使用有效的 Amazon ECR 映像 URI 透過主控台 UI 建立和上傳容器映像,來部署 Lambda 程式碼。不過,當 Lambda 函數變得複雜時,表示它具有層、相依性和許可,透過 UI 上傳可能會變得難以進行程式碼變更。
使用 AWS CloudFormation 和 AWS Serverless Application Model (AWS SAM
若要部署,請在 CloudFormation 範本中指定資源和許可政策、套件部署成品,以及部署範本。SAM Local 是一種 AWS CLI 工具,允許在上傳至 Lambda 之前對無伺服器應用程式進行本機開發、測試和分析。
與 AWS Cloud9 IDE 等工具整合 AWS CodeBuild AWS CodeDeploy,並 AWS CodePipeline 簡化撰寫、測試、偵錯和部署 SAM 型應用程式。
下圖顯示使用 CloudFormation 和 AWS CI/CD 工具部署 AWS Serverless Application Model 資源。
圖 2: AWS Serverless Application Model (AWS SAM)
抽象化多租用戶複雜性
在 SaaS 平台等多租戶環境中,簡化與多租戶相關的複雜性至關重要,讓開發人員能夠專注於特徵和功能開發。這可以使用 AWS Lambda Layers 等工具來實現,該工具提供共同程式庫來解決交叉切割問題。這種方法背後 的原理是,共用程式庫和工具在正確使用時,可以有效地管理租戶內容。
但是,由於業務邏輯可能帶來的複雜性和風險,他們不應該擴展到封裝業務邏輯。共用程式庫的基本問題是與更新相關的複雜性增加,相較於標準程式碼複製,管理更具挑戰性。因此,在尋找最有效的抽象時,在共用程式庫的使用與重複之間取得平衡至關重要。
API 管理
管理 APIs 可能很耗時,特別是在考慮多個版本、開發週期階段、授權和其他功能時,例如限流和快取。除了 API Gateway
圖 3 說明 API Gateway 如何處理 API 呼叫並與其他元件互動。來自行動裝置、網站或其他後端服務的請求會路由至最近的 CloudFront 存在點 (PoP), 以減少 延遲 並提供最佳的 使用者體驗。
圖 3:API Gateway 呼叫流程