AWS と始める SaaS 化への道

SaaS on AWS を成功に導くためのポイントとは ? 最終回

2022-04-04
ビジネス x クラウド

櫻谷 広人

皆さんこんにちは、パートナーソリューションアーキテクトの櫻谷です。「SaaS on AWS を成功に導くためのポイントとは ?」の連載も今回が最終回となります。これまでの連載をお読みいただいた方は、すでに AWS で SaaS を作る第一歩が踏み出せる状態になっているのではないでしょうか。

この記事では、まとめとして過去の連載を振り返りつつ、これから皆さんが歩むであろう今後の SaaS on AWS の道のりを描きます。

「SaaS の知識はついたけど実際に作り始めるとなると何から始めていいかわからない・・・」そんな方のガイドになれば幸いです。

この連載記事のその他の記事はこちら

選択
  • 選択
  • 第 1 回 SaaS on AWS を成功に導くためのポイントとは ?
  • 第 2 回 SaaS ビジネスの成否を分けるテナント分離戦略
  • 第 3 回 動的なポリシー生成を使ったテナント分離
  • 第 4 回 SaaS on AWS における認証認可の実装パターンとは ?
  • 第 5 回 SaaS におけるオンボーディングとは ?
  • 第 6 回 SaaS におけるデータパーティショニング設計の勘所
  • 第 7 回 SaaS におけるメトリクスの取得と可視化
  • 第 8 回 マルチテナントアーキテクチャのコスト分析
  • 第 9 回 SaaS における料金プランとメータリング、ビリング
  • 最終回 AWS と始める SaaS 化への道

サービスが提供する価値から考える

本連載は開発者向けということもあり、あまり多くは触れてきませんでしたが、SaaS を作る上で最も重要かつ最初にやるべきことは、ビジネスプランニング (事業計画立案) です。

  • 「ターゲットとするユーザーは誰か ? ユーザーはどんな課題を持っているか ? (= ペルソナの定義)」
  • 「このサービスはどんな価値を提供できるか ?」
  • 「市場における他社の製品と比べてどんな優位性があるか ?」
  • 「いつまでにどれくらいの顧客 / 売上を獲得して、どのような成長モデルを描くか ?」

アーキテクチャについて検討を始める前に、まずこれらの要点が文書化され、プロジェクトチームまたは会社全体で共通認識が取れていることを確認しましょう。

では、次のステージに進むためにはどのような点をどこまで考慮できていれば十分と言えるのでしょうか ? AWS は、これらの検討を進める上で役立つ SaaS Journey Framework というホワイトペーパーを公開しています。

このホワイトペーパーでは、SaaS 化の道のりを 4 つのフェーズ

  1. 事業計画立案
  2. 製品戦略およびロードマップ開発
  3. 実用最小限のサービス (MVS)
  4. ローンチ / 市場開拓 (Go-to-Market)

に分けて、それぞれ検討すべきポイントを質問ベースでリストアップしています。

図 1 : SaaS 化の 4 つのフェーズ。各フェーズで検討ポイントが異なる

組織間の壁を取り払い、プロダクトマネージャーだけでなく、営業やマーケティング、カスタマーサポート、開発者 / 運用者などステークホルダー全員を巻き込んでディスカッションを行い、チーム全体での共通認識を作っていきましょう。


設計 / 実装のロードマップ

さて、ビジネスプランが描けたところでいよいよアーキテクチャの設計に入っていきましょう。まずは テナント分離戦略 (第 2 回) で紹介した考え方に基づいて、大枠となるデプロイモデルを決めていきます。

図 2 : SaaS の主要なデプロイモデル

ここで判断の軸になるのが、前述のビジネスプランニングのフェーズで定義したペルソナです。ターゲットとするユーザーがどんなセキュリティ、可用性、パフォーマンス要件を求めているのか、インフラコストはどこまで許容できるのか、どんなティアをサポートするのか、こういった観点があらかじめ整理できていれば、分離モデルの選定はそこまで難しくありません。上記の要件から自然と定まってきます。料金プランの設計については SaaS における料金プランとメータリング、ビリング (第 9 回) にヒントがあります。

分離モデルが決まったら、同様にデータパーティショニングについても検討を進めます。AWS はさまざまなデータベース / ストレージサービスを提供しており、それぞれで取れる戦略は異なります。データ要件から使用するサービスを先に決める、または採用したいパーティショニングのパターンから候補を絞り込んでサービスを選定する、どちらの方法を取ることもできますが、やはり重要なのはユーザーの要件やサービスが提供する体験です。データパーティショニング (第 6 回) の記事では、コンプライアンス、パフォーマンス、コストの 3 つの観点に着目していますが、自社のワークロードに合わせて何を一番重視するべきかプランニングの段階で整理しておきましょう。

さて、大枠が決まったところでアプリケーションの開発に入っていくわけですが、まず最初にほとんどの SaaS で共通している部分、かつユーザーが最初に触れるサービスの入口となる認証 / 認可について考えていきましょう。SaaS における "アイデンティティ" の考え方については SaaS on AWS における認証認可の実装パターンとは ? (第 4 回) をご覧ください。JWT (JSON Web Token) をベースにした統一した仕組みを用いることで、複雑な実装のコストやミスを減らすことができます。また、この JWT を活用したテナントコンテキストの伝達の仕組みを作ることで、動的なポリシー生成によるテナント分離 (第 3 回) のガードレールを設けることもできるようになります。これは、SaaS 開発において特に注意を払う必要があるクロステナントアクセスの防止に役立ちます。

次に、運用についても考えておきましょう。スケールする SaaS ビジネスを構築するためには オンボーディング (第 5 回) の自動化も重要です。付加価値を生まない作業をなるべくオフロードすることで、サービスエクスペリエンスの改善に集中できます。より芯を捉えた改善を行うためには、データドリブンな意思決定が不可欠です。システムのパフォーマンス、ビジネス KPI など各種 メトリクスを収集して可視化 (第 7 回) しましょう。価格戦略や提供するプラン (ティアモデル) を含めたビジネスモデルの最適化を行うためには、コスト関連の分析 (第 8 回) も忘れずに行なってください。

各トピックの詳細については、過去の連載記事をご覧ください。また、AWS SaaS Factory Insights Hub では、これらの設計のヒントとなるブログやウェビナーなどのリソースを公開しています。ビジネス / 技術問わず、AWS が持つ SaaS のベストプラクティスのコンテンツポータルとしてご活用ください。


継続的な改善

さきほどサービスエクスペリエンスの改善について触れましたが、ではインフラストラクチャはどのように改善すればよいでしょうか ? 

構築したワークロードが AWS のベストプラクティスに沿っているかどうかは、AWS Well-Architected フレームワーク を使って評価することができます。これは、6 つの柱 (優れた運用効率、セキュリティ、信頼性、パフォーマンス効率、コストの最適化、持続可能性) に基づいて多角的にアーキテクチャを検証する仕組みですが、追加で SaaS 特有の考慮点を補完した SaaS レンズ による検証が行えます。例えば運用では「SaaS OPS 3 : テナント固有のカスタマイズの必要性にどのように対応しますか ?」、パフォーマンスでは「SaaS PERF 1 : あるテナントが別のテナントの体験に悪影響を与えることを防ぐにはどうすればいいのでしょうか?」といったベストプラクティスがあり、SaaS においてよくある課題や見落としがちなポイントのガイドとして活用することができます。

図 3: 「SaaS OPS 3 : テナント固有のカスタマイズの必要性にどのように対応しますか?」に対するフィーチャーフラグパターンの紹介

このフレームワークは、いつでも利用可能です。一回限りではなく、設計段階、リリース前の検証、リリース後の定期的なチェックといった形で、繰り返し見直していただくことをおすすめします。


移行プラン

さて、本連載では、初めての方でも一から新しく SaaS を立ち上げることができるようなナレッジの提供を目的としておりましたが、既存ソリューションの 移行についても最後に少しだけ触れておきます。

読者の皆様の中には、すでにソフトウェアのソリューションをお持ちで現在 SaaS 化を検討している、またはすでに SaaS のソリューションをお持ちで、AWS のベストプラクティスに沿った最適化を目指しているという方もいらっしゃるかと思います。

すでにアプリケーションをお持ちの場合は、AWS SaaS Boost を活用することで市場投入までの時間を短縮することができるかもしれません。これはオープンソースのリファレンス環境で、テナント管理、デプロイの自動化、分析とダッシュボード、請求、メータリングなどの SaaS 提供に必要なコンポーネントの実装を提供しています。要件がマッチする場合は、AWS が実証済みの SaaS のベストプラティスをそのまま導入することで、時間とリソースを大幅に節約できます。

実装は全ての SaaS に共通する最低限のベースラインのみとなっていますが、コードが公開されているので、自身のワークロードに合わせて柔軟にカスタマイズできるのも嬉しいところです。

図 4 : SaaS Boost の管理ダッシュボード

SaaS Boost は、2022 年 3 月時点ではコンテナアプリケーションのみをサポートしていますが、アプリケーションがコンテナ対応していない場合はどうすればよいでしょうか ?

コンテナ化や Web ベースのアプリケーションに書き換える工数が取れない場合は、Amazon AppStream 2.0 を通じた配信モデルを構築することで、市場投入までの時間を大幅に短縮できます。これは本連載で紹介してきた SaaS とは形態が異なりますが、ユーザーが得られる本質的な体験は変わりません。ユーザーは使い慣れた Web ブラウザを通じて、AppStream 2.0 からストリーミングされる Windows または Linux のデスクトップアプリケーションにアクセスすることができます。ビジネス上の理由から一刻も早い市場投入が必要だがアプリケーション改修の工数が取れない、そういったケースではこちらの方法が適しているかもしれません。

どのような移行のプランを選択すればよいかは、企業の状況によって様々です。今後のビジネスの成長戦略や市場の動向を鑑みて、慎重に検討していきましょう。ぜひ担当の AWS のソリューションアーキテクトにも相談してみてください。


まとめ

AWS では、数多くのお客様の SaaS ソリューションが稼働しています。本連載で紹介してきたベストプラクティスや考え方は、これらの SaaS の開発 / 運用を支援する中で得られた知見がベースとなっています。実際の経験に基づくナレッジを活用することで、よくある課題や落とし穴を回避し、実装のコストを削減することができます。AWS が提供するマネージドサービスの活用もその一部です。

これらをうまく使って、継続的なユーザー体験の改善に注力できるスケーラブルな SaaS を構築してみましょう ! 本連載はこれで最終回となりますが、引き続き AWS ブログ 等で SaaS に関する情報をお届けしていきますのでお楽しみに !

この連載記事のその他の記事はこちら

選択
  • 選択
  • 第 1 回 SaaS on AWS を成功に導くためのポイントとは ?
  • 第 2 回 SaaS ビジネスの成否を分けるテナント分離戦略
  • 第 3 回 動的なポリシー生成を使ったテナント分離
  • 第 4 回 SaaS on AWS における認証認可の実装パターンとは ?
  • 第 5 回 SaaS におけるオンボーディングとは ?
  • 第 6 回 SaaS におけるデータパーティショニング設計の勘所
  • 第 7 回 SaaS におけるメトリクスの取得と可視化
  • 第 8 回 マルチテナントアーキテクチャのコスト分析
  • 第 9 回 SaaS における料金プランとメータリング、ビリング
  • 最終回 AWS と始める SaaS 化への道

builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

櫻谷 広人
アマゾン ウェブ サービス ジャパン合同会社
パートナーソリューションアーキテクト

大学 4 年から独学でプログラミングを習得。新卒で SIer に入社して Web アプリケーションの受託開発案件を中心にバックエンドエンジニアとして働いた後、フリーランスとして複数のスタートアップで開発を支援。その後、toC 向けのアプリを提供するスタートアップで執行役員 CTO を務める。現在は SaaS 担当のパートナーソリューションアーキテクトとして、主に ISV のお客様の SaaS 移行を支援。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する