Azure での SaaS ワークロードの課金とコスト管理
SaaS ビジネスを成功させるには、慎重な財務計画が必要です。 ソリューションに対する顧客への課金方法と、独自のリソース支出の両方を管理する必要があります。 これらの懸念事項に関連性はありますが、それぞれが別個のものです。 成功のためには、両方を最適化する必要があります。
ソリューションの実行コストを理解することは、非常に重要です。 これらのコストを分析、管理、最適化、制御する必要があります。 SaaS は、ビジネス モデルと価格戦略がソリューション アーキテクチャと直接的にリンクするために、他の多くの種類のソフトウェアとは異なります。
この記事では、ソリューションの顧客への課金に関するガイダンスを提供します。 また、ビジネス モデル内のコストを理解して最適化するための戦略についても説明します。
請求
ほとんどの課金モデルは、顧客の使用状況に基づきます。 通常、課金モデルには、顧客のソリューションの使用方法を追跡する 1 つ以上の "メーター" が必要です。 一般的なモデルには、ライセンスベースの課金 (接続ユーザー数、月額定額など) と使用量ベースの課金 (トランザクションあたりなど) などがあります。 複数のメーターを併用できます。 たとえば、接続ユーザー数単位の料金とトランザクション単位の料金を組み合わせることができます。
設計上の考慮事項
課金とコストを整合させます。 COGS がデータ ボリュームや API 呼び出しなどの技術的メトリックに依存している場合でも、顧客にとって使いやすい課金メーターを使用する必要があります。 課金とコストが不釣り合いだと、リスクが生じる場合があります。 顧客のリソース使用量の多さが、請求額の高さに結びつかないシナリオを特定して対処し、それに応じて価格設定とコスト モデルを調整します。
課金方法を設計します。 顧客に課金する方法は、ソリューションの設計に影響を与える可能性があります。
たとえば、異なる機能、パフォーマンス、またはデプロイのモデルを備えた各種課金レベルを提供できます。 ソリューションのブロンズ、シルバー、ゴールドの各エディションを提供できます。 ブロンズの顧客は共有インフラストラクチャを使用し、シルバーの顧客は共有と専用の組み合わせを使用し、ゴールドの顧客は分離された専用の環境を使用するなど、異なるプランを提供できます。 または、課金プランに基づいて使用できる機能とできない機能を分けられます。
課金モデルは早期に計画することが重要です。これは、商業的な圧力によって調整が必要になる可能性があるにもかかわらず、過去に遡及して変更するのは困難な場合があるためです。
設計の推奨事項
推奨 | 特長 |
---|---|
顧客にとって意味のある課金メーターを設計します。 たとえば、処理されるユーザー数またはビジネス トランザクション数で示されるメーターは、顧客が理解できるものです。 API 要求数など、提供する側にとって測定が簡単であっても、顧客が理解しにくいメトリックを使用するのは避けます。 |
この方法により、顧客は提供されるサービスについての自分の理解に自信が持てます。 また、自分のコストを効果的にモデル化しやすくなります。 |
課金プランまたは SKU の実装は慎重に計画します。 複数の課金レベルを提供する場合は、体系的な方法を使用します。 |
この方法を採用することで、ソリューションに直前になって変更を加えずに済みます。 また、単一の顧客用にソリューションをカスタマイズすると、将来的に運用が複雑になる可能性がありますが、そうする必要もなくなります。 |
割引の実装は慎重に計画します。 価格割引は、請求プロセスのみに影響を与えるものであっても、管理が複雑になる可能性があります。 |
ソリューションやプロセスで提供できない割引に対し、顧客が失望することは避けます。 |
特にソリューションを顧客環境にデプロイする場合は、Azure Marketplace を使用して発行することを検討してください。 | Azure Marketplace には、課金の管理などの幅広いサービスが用意されています。 |
コスト モデルを作成する
コストを最適化するには、その内訳を項目別に列挙する必要があります。 売却済商品の原価 (COGS) は、ソリューションを提供するための直接コストです。 Azure の支出は、多くの場合、これらのコストの重要な部分です。 サードパーティのソリューションを検討するか、独自のカスタム ソフトウェアを構築できます。 これらの選択肢はすべて、隠れたコストも含め、さまざまなレベルのコストを持つことに注意してください。
トレードオフ: コスト効率、機能、複雑さ。独自のツールまたはサポート ソフトウェアを構築する場合は、ニーズに合わせてカスタマイズできます。 ただし、独自のツールの構築にはコストがかかります。その一部には、継続的なメンテナンスやセキュリティ標準の維持など、コストがはっきりとはわからないものが含まれます。 専用のソフトウェアの責任はサード パーティに委託し、開発の努力は、独自のコア ビジネス価値に集中できるようにします。
これらのコストをすべて把握し、クラウド支出を測定すると、ソリューションの基準が得られます。 また、1 つのコスト モデルを設けることも重要です。これは、最適化のために価値の高い品目を特定すると、COGS を削減するのに役立つためです。
SaaS 開発では、顧客がコストに与える影響を理解することが重要です。 コスト モデルは、顧客ごとの限界コストを表し、ビジネス メトリックがコストに与える影響を識別します。 主要なメトリックには、顧客、ユーザー、トランザクションの数が含まれます。 Azure リソースの使用量は、次の方法で測定されます。
- 直接リソース コスト。
- 特定の顧客の代理で実行された操作、特定の顧客のために格納する必要があるデータ ボリュームなど、特定の顧客のコスト部分を示す使用状況メトリック。
「CO:02 コスト モデルを作成するための推奨事項」を参照してください。
設計上の考慮事項
Azure のコストを見積もり、Azure リソースの課金方法を理解します。 料金計算ツールなどのツールを使用して、デプロイ前にコストを予測します。 リソースがデプロイされたら、クラウド支出を分析、管理、最適化します。
コスト モデリングには、次の Azure ツールが不可欠です。
- コストを見積もるための Azure 料金計算ツール。
- 分析用の Microsoft Cost Management。
コストがテナント モデルにどのように関係するかを理解します。 コスト モデルの細分性は、テナント モデルと各顧客のリソースのデプロイを反映し、これらに依存するものである必要があります。
- 専用リソース。 顧客ごとにリソースをホストする場合は、Microsoft Cost Management などのツールを使用して、顧客ごとのコストを追跡し、顧客固有のリソース タグに基づいてコストをロール アップします。
- 共有リソース。 デプロイされたリソースが複数の顧客間で共有されている場合は、顧客のサイズまたは使用状況メトリックに基づいて、おおよそのコストが分割されます。 たとえば、選択した条件を使用して各顧客のサイズを見積もることで、コストを割り当てることができます。 または、顧客ごとのトランザクションまたはその他のメトリックを測定します。 ただし、後者の方法は、複雑で時間がかかる場合があります。
- 顧客がホストするリソース。 顧客が自分の Azure 環境でリソースをホストしている場合、直接のリソース コストは発生しない可能性がありますが、管理費は考慮する必要があります。
始めは単純に、徐々に構築します。 大まかなコスト モデルを持つ方が、コスト モデルを持たないよりも適しています。 コスト モデリングは時間がかかり複雑になる場合がありますが、これはビジネス計画とコストの最適化に非常に重要です。 次のようなおおまかな値を使用する概要レベルのモデルから始めます。
- 各顧客にはリソース X と Y が必要です。その各コストは 100 ドルです。
- ユーザー数が 500 人を超える顧客には、リソース Z が必要です。このコストは 50 ドルです。
- 顧客の 10% が新しい負荷分散システムを必要としています。このコストは 100 ドルです。
顧客の使用量を直接請求する必要がある場合や、スタッフの時間やサポート コストなどのその他の費用を含める必要がある場合など、必要に応じてさらに詳細を追加します。
設計の推奨事項
推奨 | 特長 |
---|---|
Azure リソースの請求方法について理解します。 | コストをより効果的にモデリングし、コストを最適化する方法を特定できます。 |
アーキテクチャの一部である特定の Azure リソースとリソース SKU のサービス カタログを開発します。 | 必要な特定のリソースを把握すると、ソリューションの総コストを判断するのに役立ちます。 |
Azure サービスのクォータと制限について理解します。 クォータによって、サブスクリプション内のリソースのデプロイを制限し、特定のリソースの要求ボリュームを制限し、リソースの動作を変更できます。 |
SaaS ソリューションは、特にそのスケーリング方法によって、クォータを超えるリスクが高まります。 クォータを理解することは、ハード制限や不要なコストを回避するのに役立ちます。 |
基準コスト モデルを作成します。 | コスト モデルを使用すると、コストを理解して予測し、COGS への影響に基づいて、アーキテクチャに関する情報を得たうえで意思決定を行うことができます。 |
すべての詳細を測定するのでなく、重要なメトリックを特定し、おおよそのコストを算定することに重点を置きます。 | 使用状況の測定のために過剰なメトリックを収集すると、逆効果になる可能性があります。 データ処理が複雑になり、顧客の使用状況を正確に把握するのが困難になります。 さらに、ストレージと処理のコストが増加します。 |
顧客単位、またはサービス単位で予算を設定します。 | この方法により、顧客への過剰な支出を回避するための体系的な方法が提供されます。 |
スケール ポイントを決定します。 スケーリングの決定は、多くの場合、顧客数、ユーザー数、トランザクション数などの主要なメトリックによって異なります。 営業チームは、計画に役立つこれらのメトリックの予測を提供できます。 |
スケール ポイントは、コストを予測し、コストを収益に関連付け、ビジネス メトリックを使用して技術アーキテクチャの成長を計画するのに役立ちます。 |
コストを最適化する
コストを測定してクラウド支出の基準を確立したら、コストの最適化を開始できます。 最適化の目的は、パフォーマンス目標を維持しながら、全体的なコストを削減することです。
コストは適切なガバナンス プラクティスと組み合わせて最適化する必要があります。 詳細については、「Azure での SaaS ワークロードのためのガバナンス」で、コスト ガバナンスのためのガイダンスを参照してください。
設計上の考慮事項
コストを最適化する機会を特定します。 成長計画に合わせたコスト モデルは、最適化できる高コストまたは増加コストを特定するのに役立ちます。 また、継続的な監視のための顧客予算を設定することもできます。 最適化する機会を探すには、コストが最大のものから始めます。
顧客間でリソースを共有します。 この方法は、コスト効率の向上に役立ちます。 たとえば、フロントエンド用に共有マルチテナント インフラストラクチャを使用し、バックエンド データ レイヤー用に専用インフラストラクチャを使用できます。
トレードオフ: コスト効率、パフォーマンス、機能。共有と専用の両方の使用状況を管理し、ノイズの多い近隣の問題を軽減し、データ所在地やその他の顧客の制約を満たしていることを確認します。 場合によっては、リソースを共有するのが適切でないことがあります。 代わりに、デプロイ スタンプ パターンを使用して、顧客ごとに専用のインフラストラクチャをデプロイする必要がある場合があります。
Azure のオファーと割引を利用します。 Azure には、Microsoft 顧客契約、エンタープライズ契約、従量課金制など、さまざまな種類のサブスクリプションが用意されています。 特別なサブスクリプションとクレジットが、Microsoft AI Cloud Partner Program を通じて利用できます。
Azure では、非運用環境での使用の場合、特定の Azure サービスに対して割引料金が提供されます。 運用環境のワークロードを実行した後でも、別の Dev/Test サブスクリプションを通じて、この料金を引き続き利用できます。
詳しくは、「Azure Dev/Test の価格」をご覧ください。
特定の支出にコミットした場合、一部のサービスに対して割引価格を利用できます。 一定期間リソースが必要であることがわかっている場合は、Azure の予約割引にメリットがある可能性があります。 顧客リソースを統合すると、これらの割引の対象となる場合があります。
詳細については、「What are Azure Reservations?」 (Azure の予約とは) を参照してください。
「CO:05 プロバイダーから最適な料金を取得するための推奨事項」を参照してください。
リソースのサイズを適切に設定し、使用しなくなったリソースを排除します。 Azure がリソース用に提供するオプションを検討してください。 たとえば、Azure には、リソースの割り当てを最適化するのに役立つ異なる仮想マシンのシリーズなど、さまざまなオプションが用意されています。
ソリューションに適した VM の選択については、「仮想マシン セレクター」を参照してください。
設計の推奨事項
推奨 | 特長 |
---|---|
クラウドでのコスト管理のガイドであるコスト最適化チェックリストを確認します。 | さまざまな Azure サービスとソリューションの種類から、使用できる方法がわかります。 |
可能な場合は顧客間でコストを共有する一方で、分離などの要件を満たしていることを保証します。 容量が限られているリソースの場合は、リソースを共有するためにビン パッキングを検討します。 |
この方法により、全体的な COGS と各顧客の限界コストが削減されます。 |
クレジット、サブスクリプションの種類、予約、節約プランなどの Azure Billing の構成体を使用して、コストを削減します。 予約の場合は、最も高い割引にコミットできる最長の期間を選択します。 |
適切な種類のサブスクリプションを使用するか、特定のレベルの消費にコミットすると、大幅な割引が適用され、COGS 全体が削減されます。 |
ビジネス ニーズと営業時間に合わせて、リソースのアップタイム、サイズ、種類を調整します。 | この方法を使用すると、クラウド インフラストラクチャの弾力性を活用し、ビジネスの重要な時間に支出を集中できます。 |
未使用のリソースを特定して削除します。 | この方法により、無駄を減らせます。 |
Microsoft Cost Management を有効にします。 | Microsoft Cloud で支出を分析、監視、最適化するツールにアクセスできます。 |
最適な使用を確保するために、各リソースの使用率を監視します。 Azure Advisor とそのコスト最適化に関する推奨事項のライブラリを使用します。 |
この方法により、デプロイ済みリソースと有料リソースをより効果的に使用できるようになります。 リソースの使用を最適化することで、効率とコスト管理を向上させることができます。 |
その他のリソース
マルチテナントは、SaaS ワークロードを設計するための主要なビジネス手法です。 これらの記事では、課金に関する考慮事項について詳しく説明します。
次のステップ
リスクを軽減し、コンプライアンスを確保し、組織のビジネス目標をサポートするためのガバナンスについて説明します。