このガイドは、クラウドの費用が収益より速く膨らんでいるSaaSファウンダー、CTO、エンジニアリングリードを対象としています。また、テナントのサービス提供コストを把握しないままプランの価格設定をしようとしている方にも向けています。SaaSプラットフォームエンジニアリングガイドでは、コストに関する習慣を数行でまとめています。このページでは、それを実際に機能するコントロールへと展開します。
このガイドの内容
- SaaSのクラウドコストに独自のコントロールが必要な理由
- まずすべてのコストを帰属させる
- テナント単位コスト:配分の3つの方法
- 支出を早期に捉えるガードレール
- 費用を下げるレバー
- テナント単位のAIコスト
- 運用リズム
- 代替案:誰がコントロールを運用するか
- 実例:Netbase JSCが構築・運用するSaaS製品
- 存在する実績記録と存在しないもの
- このガイドの制限
- よくある質問
- 次のステップ
SaaSのクラウドコストに独自のコントロールが必要な理由
SaaSビジネスでは、クラウド支出は売上原価の一部です。新しい顧客が増えるたびに、その支出も増加します。通常のITバジェットでは管理が難しい理由が3つあります。
- 共有リソースはテナントのコストを隠す。プールされたデータベースやクラスターは数百の顧客にサービスを提供しますが、請求書にはどの顧客が何を使ったか記載されません。Microsoftのマルチテナントガイダンスはこれをコア課題として挙げています。ほとんどのサービスでは、使用量をテナントの定義単位に分解できません。
- 請求を左右するのはヘッドカウントではなく使用量。大きなデータセットをインポートしたり重いレポートを実行したりする1人の顧客が、月間合計を大きく変えることがあります。
- AI機能は呼び出しごとに費用が発生する。モデルの呼び出しとトークンは使用ごとに課金されるため、インフラを何も変えずに1つの機能だけでプランのマージンを動かすことがあります。
FinOps Foundationのユニットエコノミクスケイパビリティは、テクノロジー支出をコスト・パー・カスタマーなどの指標を通じてビジネス価値に結び付けることを目標として定めています。SaaS製品においては、テナント単位・プラン単位・コアトランザクション単位のコストがその指標となります。
まずすべてのコストを帰属させる
コントロールは、その下にある帰属の精度と同じ精度にしかなりません。削減を始める前に:
- 環境をアカウントまたはプロジェクトで分離する。本番・ステージング・開発の各環境にそれぞれ独自のアカウントまたはプロジェクトを割り当てることで、忘れたテストクラスターが本番の支出の中に隠れないようにします。
- すべてのリソースにタグを付ける。環境・サービス・オーナー、専用リソースにはテナントのタグも付けます。タグは規約ではなくインフラストラクチャー・アズ・コードで強制します。
- タグなしコストと共有コストにオーナーを指定する。ネットワーキング・ロギング・サポートプラン・データ転送にはテナントタグがつかないことが多いため、推測ではなく文書化されたルールで配分します。
- テナントごとの使用量イベントを保持する。課金にも使われるのと同じイベントが、コスト配分にも利用されます。SaaS MVPアーキテクチャガイドで推奨しているように、最初のリリースからイベントを出力するSaaS製品は、後でコストに関する質問に答えることができます。
テナント単位コスト:配分の3つの方法
| 方法 | 仕組み | 選ぶ場面 |
|---|---|---|
| 直接帰属 | 専用リソースにテナントタグを付け、そのタグの請求がテナントのコストとなる | テナントが独自のデータベースやスタックで稼働している場合 |
| メータード・シェア | ストレージ・トランザクション・リクエストなど、テナントごとの使用量指標でプールされた請求を分割する | テナントがインフラを共有しており、コストを左右する1つの指標でトラッキングできる場合 |
| 推定シェア | 各テナントに共有コストの一定割合を割り当て、定期的なベースラインと照合する | 使用量が似通った多数の小規模テナントで固定価格の場合 |
多くの製品でこれらを組み合わせています。大規模テナントには専用ティアで直接帰属、プールドティアにはメータード・シェア、残りのオーバーヘッドには推定を使います。Microsoftのガイダンスは、重いレポートを実行するテナントがストレージの示唆より遙かに多くのコンピューティングを消費することがあるため、時々、指標的な計測をベースラインと照合するよう推奨しています。AWS SaaS Lensも同じ理由でテナント単位コストをコスト最適化ピラーの一部として位置づけています。テナンシーモデル自体がコストをどう変えるかについては、マルチテナントSaaSアーキテクチャをご覧ください。
支出を早期に捉えるガードレール
帰属はお金の行き先を教えてくれます。ガードレールは請求書が届く前に教えてくれます。
- アカウント・サービス・チームごとのアラート付き予算。Google Cloudのドキュメントには、アラートのみの予算は支出に上限を設けないと明記されています。予算はブレーキではなく警告です。
- 異常検知。例えばAWS Cost Anomaly Detectionは機械学習を使って、サービス・アカウント・リージョン・使用タイプ別の異常な支出にフラグを立てます。アラートは誰も読まないファイナンスの受信トレイではなく、担当チームのチャンネルにルーティングします。
- 製品内でのテナント制限の強制。プランのエンタイトルメントがストレージ・シート・API呼び出し・AI使用量に上限を設けることで、1つのテナントがプランのマージンを消費できないようにします。これはコストが発生する前に作動する唯一のガードレールです。
- 本番環境以外の自動シャットダウン。開発・テスト環境は、誰かがオプトアウトしない限り、業務時間外は停止します。
費用を下げるレバー
| レバー | 変わること | 注意点 |
|---|---|---|
| ライトサイジング | 実際の負荷に合わせてインスタンス・データベース・コンテナのサイズを調整する | 平均値でサイジングしてピークを見逃す |
| オートスケーリングとスケジューリング | 需要に応じてキャパシティを調整し、アイドル環境を停止する | 急激なスパイク時のスケールアップ遅延 |
| コミットメント割引 | 安定したベースライン負荷に対してより低いレートを適用する | ベースラインが確定する前にコミットする |
| ストレージライフサイクル | 古いファイルやバックアップを安価なティアに移行するか期限切れにする | 契約や法律で求められる保持ルール |
| データ転送とキャッシング | CDNとリージョン配置により転送コストを削減する | テナントのいる場所からデータを遠ざける |
| ログとモニタリングの保持 | 詳細ログをサンプリングし、必要な期間のみ保持する | インシデント対応に必要なログを失う |
レバーはリスクの低い順に適用します。まず無駄を排除し、次にリサイズし、それからコミットします。不要なキャパシティに割引を適用しても、それは依然として無駄です。
テナント単位のAIコスト
AI機能にも同じコントロールが、より細かい粒度で必要です。テナントごと・機能ごとにモデル呼び出しとトークンを計測し、月次アローワンス付きのエンタイトルメントに対応付け、品質が許す範囲でより小さい・安価なモデルを選択し、繰り返される回答をキャッシュし、テナントのAI支出が通常の範囲を超えたらアラートを出します。Netbase JSCは主要な商用・オープンソースのAIモデルと連携しており、1つのベンダーに縛られず製品ごとに選択します。これによりモデルの選択はコスト上の判断となります。以下の各項目はNetbase JSCでの成熟度を示しています。
-
成長ケイパビリティ:テナントごとに計測するAI機能。
テナント単位の使用制限を持つ機械学習・NLP・ジェネレーティブAI機能。公開されたコスト事例とはまだ紐づいていません。
-
成長ケイパビリティ:AIによるコスト異常トリアージ。
異常な支出をエンジニアが確認できるよう、発生原因ごとにグループ化します。公開されたクラウドコスト事例とはまだ紐づいていません。
運用リズム
-
毎週:エンジニアリングが異常を確認する。
サービスを担当するチームがアラートを説明し、クローズするか修正タスクを起票します。
-
毎月:エンジニアリングとファイナンスがユニットコストをレビューする。
テナント単位・プラン単位・コアトランザクション単位のコストを前月と価格と比較します。
-
四半期ごと:大きなレバーを決定する。
コミットメント、最大テナントのテナンシー変更、コストをカバーできていないプラン制限や価格について判断します。
-
リリースのたびに:コストへの影響を確認する。
新機能はリリース前に、追加するコストとその計測方法を明記します。
代替案:誰がコントロールを運用するか
-
プロバイダーネイティブツール
- 強み
- 追加ライセンス不要。予算・タグ・異常アラートが付属
- 選ぶ場面
- 1つのプロバイダーで、レポートを構築できるチームがいる場合
-
サードパーティコストプラットフォーム
- 強み
- クロスプロバイダーのビューと既製のテナント配分
- 選ぶ場面
- 複数プロバイダーを使用するか、サブスクリプションが正当化できる大きな請求がある場合
-
社内FinOpsロール
- 強み
- チーム横断のリズムと意思決定を担う
- 選ぶ場面
- 専任担当者を確保できる規模の支出がある場合
-
マネージドクラウドパートナー
- 強み
- レビュー・ライトサイジング・アラートを代行してくれる
- 選ぶ場面
- プラットフォームチームがいない、または製品に集中させたい場合
どのルートを選んでも、製品自体がテナントごとの使用量を出力しなければなりません。外部ツールが後から取り戻すことはできません。Netbase JSCはクラウドプラットフォームエンジニアリングとSaaS開発を通じてこれらのコントロールを構築し、マネージドクラウドサービスの一部として月次・四半期ごとのコストレビューを実施します。Netbase JSCのほとんどのプロジェクトは、ディスカバリー後に合意した請負契約で納品されます。
実例:Netbase JSCが構築・運用するSaaS製品
- Cloodo Workspace。Netbase JSCが構築・運用するマルチテナントのデジタルワークプレイスで、CRM・HRM・クラウドERP・AIモジュールを1つの製品として提供するNetbase Business Divisionです。Cloodoの実績記録をご覧ください。
- 米国クライアント向けクラウドERP(非公開)。Netbase JSCが2020年からオフショア開発およびマネージングパートナーとして開発しているAWS上のマルチテナントクラウドERPです。すべての顧客企業が共有インフラ上の独自のワークスペースで業務を行います。クラウドERPの実績記録をご覧ください。
- Printcart。Netbase Business DivisionsのWeb to Print SaaSで、1つのプラットフォームから多数のマーチャントにサービスを提供します。Printcartの実績記録をご覧ください。
Netbase JSCはAWS・Google Cloud・DigitalOcean・Cloudflare上で開発を行います。クラウドパートナーティアは主張していません。
Netbase consultantと次のステップを計画する
存在する実績記録と存在しないもの
- 存在するもの。上記の実績記録は、Netbase JSCが共有インフラ上で構築・運用するマルチテナント製品を説明しています。これがこのコントロールを記述する対象の設定です。
- 存在しないもの。Netbase JSCの実績記録には、自社製品・クライアントのいずれについても、クラウドの請求額・削減額・テナント単位コスト・マージンは公開されていません。このページのいかなる内容も、計測されたコスト結果として提示されるものではありません。
このガイドの制限
- プロバイダーの機能はアクセス日時点の各社ドキュメントから引用しています。名称・制限・価格は変更される場合があります。
- 配分方法は推定値を算出するものであり、適切な精度は価格モデルによって異なります。
- コストコントロールのセキュリティ面(リソースを作成したり予算を変更したりできる権限など)は、あらゆる管理者アクセスと同様に、ロールベースアクセス制御とMFAのルールに従います。
よくある質問
共有データベースでテナント単位コストを計算するにはどうすればよいですか?ストレージ・トランザクション・リクエストなど、コストを左右する使用量指標を選び、それを基にプールされたコストを分割し、定期的に計測済みベースラインと照合します。
クラウドの予算は支出を止めますか?それ自体では止まりません。予算は支出が閾値を超えたときにアラートを出します。支出を止めるには、追加する自動化か、製品内で強制する制限が必要です。
SaaS企業はいつコミットメント割引を購入すべきですか?数ヶ月間の安定したベースライン使用量が確認された後、そのベースライン分のみです。まず無駄を排除し、ライトサイジングを行ってからにしてください。
小規模なSaaSチームではクラウドコストを誰が担当すべきですか?エンジニアリングリードがアラートとレバーを担当し、ファイナンスが毎月エンジニアリングと共にユニットコストのレビューを担当します。
次のステップ
現在のクラウドの請求構造・プラン・最大テナントの情報をお知らせください。帰属設定・ガードレール・レビューリズムの構築に向けてソリューションレビューを予約します。クラウドプラットフォームエンジニアリングや、Netbase JSCのインサイトもご覧いただけます。
関連サービスとソリューション
自社SaaSを運営するチームによるAI対応SaaS開発
Netbase JSCは、創業者およびプロダクトチームがAI機能を備えたマルチテナントのサブスクリプションソフトウェアを立ち上げ・スケールさせるためのSaaS開発サービスを提供しています。自社SaaSプラットフォームであるPrintcartとAI搭載のCloodoワークプレイスを構築・運営した経験を、クライアントのプロダクトに活かします。一般的なSaaS MVPは、スコープ・インテグレーション・レビュー速度によって異なりますが、通常8〜12週間で完成します。
詳しく見る
SaaS・コマース向けAI対応クラウドプラットフォームエンジニアリング
Netbase JSCは、SaaSおよびコマースチーム向けに、AWS、Google Cloud、DigitalOcean、Cloudflare上でセキュアかつ再現性の高いクラウドプラットフォームエンジニアリングを提供します。アーキテクチャ設計、コードによる環境構築、マネージドサービスおよびAIサービスの統合を行い、自社でも使用するパターンに基づいて、チームが運用できるプラットフォームを引き渡します。
詳しく見る
SaaSプロダクトアクセラレーター:実績あるNetbase JSCモジュールでAI対応SaaSを立ち上げる
SaaSプロダクトアクセラレーターは、アカウント・請求・ロール・インテグレーション向けの再利用可能なNetbase JSCモジュール群です。創業者やプロダクトチームがサブスクリプションソフトウェアを迅速に立ち上げられるよう支援し、初回リリースからプロダクト内AIにも対応しています。モジュールの再利用により開発期間を最大60%短縮でき、このアプローチはNetbase JSC自身のWeb to PrintサービスであるPrintcartで実証されています。
詳しく見る
プロジェクトを相談する
Netbase JSCは、デジタルプロダクトおよびAI活用ビジネスシステムの設計・開発・モダナイゼーション・運用を支援します。+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
お問い合わせ
構築・モダナイズ・運用したい内容をお聞かせください。