🤿

【第01回】Deep Dive マルチテナントSaaS on AWS - 第1章振返り

に公開

はじめに

本記事では、「マルチテナント SaaS アーキテクチャの構築 ― 原則、ベストプラクティス、AWS アーキテクチャパターンの第 1 章「SaaS マインドセット」の内容を振り返り、自分なりに要点を整理していきます。

この章では、SaaS というビジネス形態が興った歴史的経緯と、著者による「マルチテナント SaaS」の定義が述べられ、最後に、マルチテナント SaaS とは技術的・アーキテクチャ観点の話ではなく本質はビジネスモデルである、という点が強調されています。


従来のソフトウェアデリバリモデル

SaaS の定義と特徴を掘り下げる前に、本書ではまず SaaS 以前に主流だった従来のソフトウェアデリバリモデルの特徴について言及しています。

下図に示されるような、「インストール型ソフトウェアモデル」と呼ばれるデリバリモデルが従来は主流となっていました。

このデリバリモデルの特徴は以下の通りです。

  • 顧客ごとに異なるソフトウェアのバージョンやカスタマイズ内容が適用される。
  • ソフトウェアのインストールは基本的に各顧客が行い管理する。ベンダのプロフェッショナルサービスチームがそれを支援し、顧客ごとにサポートチームが用意される
  • 運用の非効率性やソフトウェアデリバリの遅さと引き換えに、顧客の求めるもの全てを販売できるという点を強みにしたビジネスモデル

このビジネスモデル自体は一部の業界・企業に対しては現在も有効なアプローチであり、顧客数が限られているうちは上手くいく可能性があります。一方で、(潜在的な)顧客数が膨大で、ビジネスの急成長を目標としている場合、以下のような問題が顕在化します。

  • コストの増加と運用の非効率性:顧客が 1 社増えるたびに、インフラのコストやサポート稼働、ソフトウェアの構成管理の複雑さが増大する
  • 俊敏性への影響:顧客ごとに異なるバージョン・カスタマイズ内容のソフトウェアを稼働させているという状況では、せっかく新機能を開発しても顧客へのデリバリが完了するまでに長い時間と複雑な作業が必要となる

加えて顧客サイドからも、ビジネスに合わせた柔軟なソリューションやプライシングモデルに対するニーズが増加するようになりました。
同時に、クラウド(AWS や Azure)の登場が、ソフトウェアのホスティングや運用、課金体系の面で大きな変革をもたらしました。
そういった要因が相まって、ソフトウェアプロバイダーは、よりコスト・運用効率的で俊敏性と拡張性の高いビジネスモデルを目指す必要に迫られるようになりました。


SaaS モデルの特徴

前述のような背景から、顧客ごとの対応に伴う複雑さとコストを削減し、より俊敏なソフトウェアデリバリを実現するために採用されるようになったのが、下図のような共有インフラストラクチャの SaaS モデルです。

このモデルの特徴、及び恩恵は以下の通りです。

  • 1 組のアプリケーションサービスとインフラストラクチャを全ての顧客が共有して使用する
  • 従来の「顧客」という考え方は止め、システムの一時的な使用者 = テナントとして扱う
  • 全てのテナントに対して統一された顧客体験(同一バージョンのソフトウェア)が提供される。
  • 顧客個別にソフトウェアをバージョン管理・デプロイする必要が無くなったことで、ソフトウェアデリバリの俊敏性が格段に向上する
  • インフラストラクチャの利用状況と実際のテナント活動とを同期させることで、コストの効率化を実現し、規模の経済による恩恵を得ることができる

一方で、この SaaS モデルの導入によって、様々な新たな課題や検討事項も発生しました。それらは書籍の後続の章で順次紹介されます。

また、共有インフラストラクチャ SaaS モデルが統一された顧客体験を提供するために、SaaS アプリケーション及びテナントを一元的に管理・運用するための「コントロールプレーン」が新たに必要となります。コントロールプレーンには具体的に、テナントのオンボーディングやアイデンティティ、請求やメータリング、メトリクスと分析に関わる機能が搭載される必要があります。

書籍では、SaaS ビジネス立ち上げ時には、アプリケーション本体よりもまずコントロールプレーンに優先して取り組むべきだということが念押しされています。なぜならコントロールプレーンで提供される機能は SaaS ビジネスの成功(運用効率や俊敏性の実現)を大きく左右する要因であるためと述べられています。


「マルチテナント」の定義

本書籍においては、下図の何れのモデルも、「マルチテナント SaaS」に当てはまります。

この図が示しているのは、インフラストラクチャの共有性(テナント個別にリソースが用意されているか否か)は「マルチテナントであるか否か」とは関係が無いという点です。単一の統合されたプロセスを通してテナントのオンボーディング、運用が行われるあらゆる環境が「マルチテナント」に該当すると、少なくとも書籍上は述べられています。

SaaS の本質はビジネスモデル

この章では、SaaS を技術的なパターンや戦略の観点から考えるのではなく、ビジネスモデルそのものとして捉えるべきであると強調しています。
SaaS の採用はその会社の製品を構築、運用、販売等のプロセスに直接影響し、方向性を決定づけます。企業は俊敏性と運用効率を重要視し、少数のニーズよりも多数のニーズを優先する必要があります。プロダクトオーナーをはじめ SaaS ビジネスの関係者は、SaaS ビジネスを成功させるうえで後述する基本原則を意識する必要があります。
SaaS は従来のソフトウェアデリバリモデルの課題である俊敏性やコスト、運用効率性を改善するために生まれたモデルであり、その目的の達成のためには技術的な側面だけでなく、ビジネスプロセス全体に渡る努力が必要だとする主張には納得できます。

SaaS のビジネス戦略を左右する基本原則として、以下の観点が挙げられています。

  • 俊敏性:SaaS を導入することで、ソフトウェアの新バージョンのリリースや市場動向への対応といった様々な面で企業を恩恵を得られる。それ故、サービスの設計や運用方法は、俊敏性を最大化するという目的を基準に決定される。俊敏性を求めずコスト削減のみを図るマルチテナントサービスは SaaS 本来の目的から外れてしまう
  • 運用効率:新規の顧客に対する追加のリソースを必要とせずに顧客基盤を継続的且つ急速な成長にも対応して拡大出来ることが重要。
  • 高い俊敏性と運用効率性によって、高い柔軟性がもたらされる。それによって、新しいビジネス機会に対して迅速に対応できるようになる。
  • スムーズなオンボーディング:俊敏性と運用効率性を維持できるだけの、スムーズな顧客(テナント)のオンボーディング体験を確立する必要がある
  • 成長:顧客の獲得、オンボーディング、サポート、管理といたプロセス全体を効率化できるビジネス基盤に投資し、成長の原動力とすること

SaaS のビジネスモデルにおいては、自分たちのプロダクトを「製品」ではなく「サービス」と捉えることが重要だと述べられています。つまり、顧客の機能的ニーズを満たすことだけに専念するだけではなく、あらゆる側面における顧客体験にも気を配り、顧客の満足度を高める必要があるということです。

以上の事柄を踏まえて、本書籍では SaaS を端的に以下の通り定義しています。

SaaS とは、顧客とプロバイダーの両方に最大の価値をもたらし、摩擦の少ないサービス中心のモデルでソリューションを提供できる、ビジネスとソフトウェアのデリバリーモデルである。成長、市場拡大、イノベーションを促進するビジネス戦略の柱として、俊敏性と運用効率に重点を置いている。

Discussion