サーバーレスとコンテナの使い分けに関して

AWS

概要

AWSを利用してアプリケーションを開発する際に、コンテナとサーバレスを使い分ける際の判断基準が曖昧だったので、この機会に色々調べてまとめてみました。

下記のリストのいずれかの問いに対して、Yesとなる場合はコンテナでの開発が向いています。

コンテナが向いている場合

  • プラットフォームのランタイム管理を望んでいる
  • タスクの実行時間が15分以上
  • メモリが10GB以上必須
  • ARM,GPUなど特殊なハードウェアが必要
  • ステートレス処理でない
  • lambdaバースト制限外

AWSを利用したコンテナ開発の構成は、下記のような感じになると思います。

CDN静的コンテンツWEBサーバLBAPDB
cloudfrontS3EC2ELBEC2RDS

サーバレスが向いている場合

上記に全てNoとなる場合は、サーバレスでの開発が向いています。
AWSを利用したサーバレスでのよくある構成としては、下記のような感じです。

CDN静的コンテンツWEBサーバAPサーバDB
cloudfrontS3API gatewaylambdadynamoDB

参考サイト

AWS Black Belt Online Seminarの記事が非常に参考になったので、記載しておきます。
コンテナとサーバレスの使い分け

コメント

タイトルとURLをコピーしました