サーバレス
|| Q. AWS Lambdaを使用する際に、利用料金を決定する要因は何ですか?
- 利用時間
- ファンクションのリクエスト数
- AWS LambdaはEC2インスタンスのようなサーバーを必要としないため、Lambda関数を実行した分だけ料金を支払う形態となります
- 関数に対するリクエストの数とコードの実行にかかる時間に基づいて課金されます
Q. サーバーレスコンピューティングを実行するAWSリソースはどれ?
AWS Fargate: Amazon Elastic Container Service (ECS) と Amazon Elastic Kubernetes Service (EKS) の両方で動作する、コンテナ向けサーバーレスコンピューティングエンジンです。
- サーバレスコンピューティングとは、ユーザー側でサーバーの設定なしに利用できるコンピューティング処理を実行するサービスのこと.
- Fargate を使用すると、開発者はサーバー管理なしにアプリケーションの構築に簡単に集中することができます.
- Fargate ではサーバーのプロビジョンと管理が不要となり、設計段階からのアプリケーション分離によりセキュリティを強化します.
- EC2起動モードとは異なり、 Fargate 起動モードを選択すると、インスタンスの選択やクラスター容量のスケーリングなしに、適切なコンピューティング容量が自動的に割り当てられます.
FargateとLambdaの比較
- Lambda は短い処理に向いている、長く時間がかかったり重たかったりする処理には不向き。そのため処理時間が短く中規模程度のシステムであれば Lambda のメリットを最大限に引き出せる.
- Fargate はコンテナのため自由度が高い、そのため Lambda でできないことは Fargate でカバーできる。そのためどのようなワークロードにも適している.
これを踏まえると、まず Lambda が活躍できる場所はないかを考え、Lambda で実現が難しいことは Fargate に任せるといった思考フローでアーキテクチャを検討します.
Q. コンポーネント間のメッセージングをプッシュ方式で実施するサービスはどれでしょうか?
Amazon SNS: マイクロサービス、分散型システム、およびサーバーレスアプリケーションの分離を可能にするpub/sub メッセージングサービスです。プッシュ方式でコンポーネント間のメッセージングを処理することができます
Q. あなたはコンテナーを利用してアプリケーションを構築する準備をしています。その際にサーバーのスケーリング、パッチ適用、セキュリティ保護、管理の運用上のオーバーヘッドを回避して設定する際に、どのサービスを利用するべきでしょうか?
AWS Fargate
- Amazon ECSやAmazon EKSの起動タイプとしてAWS Fargateを利用することができます
- AWS FargateはEC2起動タイプと異なり、サーバーのスケーリング、パッチ適用、セキュリティ、管理などの運用上のオーバーヘッドを取り除くことができます
- AWS Fargate はサーバーレスで従量制料金のコンピューティングエンジンであり、サーバーを管理することなくアプリケーションの構築に集中することができます
Q. サーバレスアプリケーションを構築する際に利用できるサービスを選択してください。
AWS Lambda: AWSのサーバレス設計を実現するための代表的なサービスです。
- Lambdaを使用すると、サーバーをプロビジョニングまたは管理せずにコードを実行できます.
- ほとんどのタイプのアプリケーションまたはバックエンドサービスのコードを実行できます.
Amazon ECS: AWS Fargateが搭載されているため、サーバーをプロビジョニングまたは管理しなくてもコンテナーをデプロイしてDockerをサーバレス化できます。
- Fargateを使用すると、仮想マシンのAmazon EC2インスタンスタイプの選択、プロビジョニング、スケーリングを行ってコンテナを実行したり、コンテナをクラスタ上で実行して可用性を維持したりする必要がなくなります。
- Amazon Lightsailは仮想プライベートサーバーを提供するサービスです。