翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
オペレーションの簡素化
マイクロサービスの実行、保守、モニタリングに必要な運用作業をさらに簡素化するために、 完全なサーバーレスアーキテクチャを使用できます。
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 コールフロー