翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
オペレーションの簡素化
マイクロサービスの実行、保守、モニタリングに必要な運用作業をさらに簡素化するために、フルサーバーレスアーキテクチャを使用できます。
Lambda ベースのアプリケーションのデプロイ
Lambda コードをデプロイするには、zip
ファイルアーカイブをアップロードするか、有効な Amazon ECR イメージ URI を使用してコンソール UI からコンテナイメージを作成してアップロードします。ただし、Lambda 関数が複雑になった場合、つまりレイヤー、依存関係、アクセス許可がある場合、UI を介したアップロードはコードの変更に扱いにくい場合があります。
AWS CloudFormation と AWS Serverless Application Model (AWS SAM
デプロイするには、CloudFormation テンプレートでリソースとアクセス許可ポリシーを指定し、デプロイアーティファクトをパッケージ化し、テンプレートをデプロイします。 AWS CLI ツールである SAM Local は、Lambda にアップロードする前に、サーバーレスアプリケーションのローカル開発、テスト、分析を許可します。
IDE、 AWS CodeBuild、 AWS CodePipeline などのツールとの統合により AWS CodeDeploy、SAM AWS Cloud9 ベースのアプリケーションの作成、テスト、デバッグ、デプロイが効率化されます。
次の図は、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 の Point of Presence (PoP) にルーティングされます。

図 3: API Gateway コールフロー