Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Report of 「SaaS meets cell-based architecture: ...

Yuki.Ozasa
January 24, 2025

Report of 「SaaS meets cell-based architecture: A natural multi-tenant fit (SAS315)」

SaaS Engineering Meetup
第8回 AWS re:Invent 2024 SaaS関連報告会
https://saas-engineering-meetup.connpass.com/event/338031/

Yuki.Ozasa

January 24, 2025
Tweet

More Decks by Yuki.Ozasa

Other Decks in Technology

Transcript

  1. © 2025 SaaS Engineering Meetup #SaaSEM SaaSデプロイモデル サーバ DB サーバ

    DB サーバ DB テナント A用 テナント B用 テナント C用 サイロ サイロモデルでも、コードベースは 1つ (会社ごとのカスタマイズは行わない) 4
  2. © 2025 SaaS Engineering Meetup #SaaSEM SaaSデプロイモデル サーバ DB テナント

    A,B,C共有 プール 共用インフラでも適切な論理テナント分離を考える 5
  3. © 2025 SaaS Engineering Meetup #SaaSEM SaaSデプロイモデル DB サーバ DB

    DB テナント A用 テナント B用 テナント C用 ハイブリッド 分離した部分を意識しないでよいプログラミングを心がける 6
  4. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 マルチテナントSaaSアーキテクチャの課題 ①多様なワークロード(使われ方) ものすごく使うテナントもいればそうでないテナントもいる。

    常にオンボーディングとオフボーデイングがなされており、変化し続けている。 ②コンピュートやストレージの調整が何回 適切なスケールとレジリエンス戦略を決定するための設定オプションは無数に存 在している。 ③業務領域や業界の要求が多様 コンプライアンスや規制上のニーズも変化する そもそもマルチテナントの設計は考えることが多いので大変
  5. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 ワークロードを分析し各事項を検討の上、アーキテクティングし続ける必要がある。 コンピュート データベース

    ワークロード① ワークロード② ワークロード③ • Tiering • ノイジーネイバー • コスト効率 • 運用効率 • 分離パターン • 業務領域や 業界の要求 ストレージ
  6. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 プール型は常にノイジーネイバーとの戦い(≒サイジングやポリシーマネジメント) テナントのリソースをプール化する場合 -

    ワークロードをどのように予測し、効率的にスケールさせま すか? - 環境の規模をどのように決定しますか? - どのようにして(障害の)影響範囲を抑えますか?
  7. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 A/Bリリースやターゲットを絞ったリリースなどを実施したい場合に デプロイモデルが多様だとどうやって提供する? ターゲットを絞ったデプロイ

    - デプロイを段階的に進めるにはどうすればよいです か? - 特定のテナントグループをどのようにターゲットにし ますか? - 複雑な構成をどのように管理しますか?
  8. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 ビジネスが成長してマルチリージョン運用をしたくなったとして、 リージョンごとに運用は変えたくないですよね? 分散された拠点

    - 地域別のデプロイをどのようにサポートしますか? - 地域ごとのテナント環境の規模はどのように決定します か?
  9. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 オンボーディングにも種類を設けられます テナントの属性 によってCellを

    分けるパターン 属性で分けない でCellのリミット まで突っ込むパ ターン
  10. © 2025 SaaS Engineering Meetup #SaaSEM SAS315 Cell-based Architectureは複雑に変化しながらスケーリングする仕組みをマネージする方 法として有効な手段ではある。

    しかし、まずはスケーリングの性質、環境内のテナント数、そして組織のスケーリングの性質 から逆算し、1手段として考えるのが大事。 同時に、「ビジネスサイドからCell型アーキテクチャが必要だ」と言われることはない。 Cell-based Architectureが適切な選択である理由を説明するのは、依然としてアーキテクト の役割である。 ビジネスとテクノロジーを一体に考えていくのが SaaSの肝ですね!