SaaSus Platformのアーキテクチャ
1. コントロールプレーンの役割と構成要素
SaaSアプリケーションの運用には、テナント管理、ユーザー認証・認可、料金プラン設定、請求処理など、共通かつ複雑な管理機能が必要です。これらをアプリケーションごとに独自で構築・保守するには、多くの開発工数と運用コストが発生します。
SaaSus Platformでは、これらの共通機能を一元的に管理できる コントロールプレーン を提供し、SaaSに特化したベストプラクティスを標準化された形で利用可能にします。
本ドキュメントでは、SaaSアプリの設定・管理を行う「SaaS開発 コンソール」と「SaaS運用 コンソール」を総称して、「SaaSus Platform コンソール」と記載します。
役割
- テナントごとのユーザー管理と役割に基づくアクセス制御
- 料金プランに応じた認可と請求処理の自動化
- WebコンソールとSDK/APIを通じた柔軟なアプリ統合
- イベント通知機能による外部サービスとの連携
これにより、開発者は業務に特化したSaaS本体の開発・改善に集中でき、共通機能の再実装から解放されます。
構成要素
以下のモジュールが、SaaSus Platform のコントロールプレーンを構成します。
モジュール名 | 概要 |
---|---|
SaaS開発コンソール | SaaSアプリケーションの初期構成、認証設定、料金プラン定義などを行う開発者向けコンソール。 |
SaaS運用コンソール | テナントやユーザーの運用、請求確認、操作ログの閲覧などを行う運用者向けコンソール。 |
SaaSus SDK / API | 各種設定内容(ユーザー認証、テナント、請求情報など)を自社アプリに組み込むためのインターフェース。 |
イ ベント連携機能 | Amazon EventBridgeなどのサービスと連携し、ユーザー操作や状態変化のイベント通知が可能。 |
SaaSus Platformでは、Stripeと簡易に連携できる仕組みを備えています。SaaS開発コンソールでシークレットキーを登録することで、Stripe上の価格情報をもとにした請求処理や契約更新が自動化されます。この機能は、SaaSにおける請求管理の大幅な効率化を支援します。
2. SaaS開発コンソール/SaaS運用コンソール/SDK/APIの全体像
SaaSus Platform は、SaaSアプリケーションの構築・運用に必要な設定・管理作業を「SaaS開発コンソール」「SaaS運用コンソール」「SDK/API」を通じて提供しています。
開発者・事業責任者・運用担当者のそれぞれの役割に応じて、必要な情報を適切に設定・連携・運用できる構成となっています。
システム構成の全体像
ロール | 使用コンポーネント | 主な作業内容 |
---|---|---|
エンジニア | SaaS開発コンソール / SDK/API | 自社アプリのコア機能を独自開発し、SDK/APIでSaaSus Platformと連携。ログイン画面や認証設定などの初期設定も担当。 |
事業責任者 | SaaS開発コンソール | 提供プランの設定、ユーザー権限やロールの定義、セキュリティ設定のポリシー設計を実施。 |
運用担当者 | SaaS運用コンソール | テナント(契約企業)の管理、ユーザーアカウントの確認・対応、利用状況のモニタリングを行う。 |
エンドユーザー | 自社SaaSアプリケーション | ログインしてサービスを利用し、提供される機能・プランに応じた操作を行う。 |
利用フローの例
- エンジニア が SaaSus SDK / API を使って、アプリと認証・課金・テナント管理などの連携処理を実装。
- 事業責任者 が SaaS開発コンソールで料金プランやアクセス権限(ロール)を定義。
- 運用担当者 は SaaS運用コンソールで実際の契約企業(テナント)やそのユーザーのステータスを管理。
- エンドユーザー は、企業ごとのSaaSサービスにログインし、個別に提供される機能を利用。
システム構成図
3. 認証認可・テナント管理・料金プラン管理の仕組み
SaaSus Platform では、SaaSアプリケーションに共通して求められる「ユーザー認証」「テナント(契約単位)の管理」「料金プランと請求の管理」といった機能を、Webコンソールで設定・管理し、SDKやAPIを通じて自社のSaaSアプリに統合できます。
これにより、これらの共通機能を一から実装する必要がなくなり、サービス本体の業務ロジックやユーザー体験の向上に集中することができます。
認証・認可
SaaSアプリへのログインや機能利用において、安全なアクセス制御を行うための仕組みです。
-
トークンによ る認証
ユーザーのログイン時にトークン(ID/アクセス/リフレッシュ)を発行し、各APIリクエストにこれを付与することで認証処理を行います。 -
ログイン方法の選択
メールアドレスとパスワードによる標準認証に加え、Googleアカウントを使ったソーシャルログインも利用できます。 -
ユーザーの役割設定(ロール)
管理者や一般ユーザーなど、利用者に応じた権限を設定できます。たとえば、管理者だけが設定変更を行えるようにする、といった制御が可能です。
テナント管理
SaaSus Platform では、サービスの契約単位である「テナント」の管理が行えます。
-
テナントごとのユーザー管理
テナント単位でユーザーの登録・編集・削除が可能です。 -
契約状況の確認
各テナントの契約プランや利用状況などをSaaS運用コンソール上から把握できます。
料金プラン管理
SaaS事業に欠かせない「料金プラン設定」と「請求処理」も、SaaSus Platformコンソールから簡単に管理できます。
-
料金プランの作成と編集
月額制・従量制など、ビジネスに応じた料金体系を設定できます。 -
Stripeとの連携
Stripeのシークレットキーを登録することで、契約・請求・支払いステータスの管理が自動化されます。