クラウドインテグレーション事業部の森です。
re:invent 2023 に現地参加しております。

SaaS アプリケーションにおける、ECS fargate のマルチテナント構成についてのセッションに参加したためレポートを共有します。
レポートは4つに分かれており、本記事は第2段になります。

Deploying multi-tenant Saas applications on Amazon ECS and AWS Fargate

SaaS を構築することは顧客の信頼を得ることと同等である

と断言しており、それらは以下4つの項目が言えることであると述べていました。

  • I trust your software ”to be available when I need it”
  • I trust your software ”to keep my data secure”
  • I trust your software ”to get new features I need”
  • I trust your business ”to be here for the long term”

確かにカスタマー目線では、可用性やデータセキュリティ、新機能の追加や長期間ビジネスが継続することはそのサービスを信頼するに足る項目だと言えます。
反対に、サービスを提供する側から見るとこの項目は実現が最も難しいものの一つに思えますが、サービス提供者はカスタマーファーストを最重要としてこの項目を認識することが重要だと感じました。

この後本セッションでは、上記4つについてそれぞれ細かく説明する内容となっていました。
本記事では以下についてレポートを共有いたします。

  • I trust your software ”to be available when I need it”

I trust your software ”to be available when I need it” (欲しいときに使えるように!)

“Availability is not binary; it is spectrum.”

顧客が使いたいときに利用可能であることを実現することは、顧客から信頼されるために重要なもののひとつですが、可用性とは一体何を意味するのかを考える必要があります。

本セッションでは、可用性とはBinary ではなくSpectrum であると言っていました。
可用性を 0 か 1の2言論で語られるものではなく連続体である、という考え方は非常に勉強になりました。

サービスが停止しているか否かの2つで分けられず、特定機能あるいは特定の顧客グループのみ壊れているという状態が存在することを、SaaS プロバイダーは念頭に置いて、アプリケーションを正常に提供することが信頼につながると考えています。

SaaS アプリにおいて、無料ユーザーや課金ユーザー、法人ユーザー等さまざまなグループがあるため、顧客の収益性と信頼レベルに応じてどのような可用性を提供するかで分ける知識は確かに当然ではありますが、改めて認識できました。

SaaSプロバイダーになるためには、モノリシックなアプリではこの観点から顧客の信頼が得にくいということから、顧客の信頼とアーキテクチャが密接に関わってくることに気づけました。

以上から、ECSの強みであるデプロイ方法(Blue/Green等)やコードの分離化がSaaSに活かせると説明していました。

コメント

個人期にもECSはEC2と比較して運用負荷を減らす点で良いと感じていましたが、デプロイ方法が豊富であり、SaaSで重要なお客様の契約プラン(無料 or 有料 or ビジネス等)で、アーキテクチャを設計する必要がある点に非常に学びが有りました。
また、SaaSに限らず、企業ごとのHPを作成して提供するケースなどはELBやDBを可能な限り共通化してマルチテナント化するなどの案がありますが、重要なお客様においてはELBやDBを分離化して可用性を収益性に合わせて設計する必要があると感じました。

第2段はこちら

第2段の I trust your software ”to keep my data secure” については以下です。

クラウドインテグレーション事業部の森です。re:invent 2023 に現地参加しております。SaaS アプリケーションにおける、ECS fargate のマルチテナント構成についてのセッションに参加したためレポートを共有します。レポートは4つに分かれており、本記事は第2段にな...