サービスとしてのソフトウェア(SaaS / sæ s / [ 1 ])は、プロバイダーが必要な物理リソースとソフトウェアリソースを管理しながら、アプリケーションソフトウェアをクライアントに提供するクラウドコンピューティングサービスモデルです。 [ 2 ] SaaSアプリケーションは、 Webアプリケーションまたはローカルにインストールされたソフトウェアを介してアクセスされます。他のソフトウェア配信モデルとは異なり、SaaSは「ソフトウェアの所有と所有権とその使用」を切り離します。[ 3 ] SaaSの使用は2000年頃に始まり、2023年までにソフトウェアアプリケーションの展開の主な形態となりました。
ほとんどの自己ホスト型ソフトウェア製品とは異なり、ソフトウェアのバージョンは 1 つだけ存在し、オペレーティング システムと構成も 1 つだけサポートされています。SaaS 製品は通常、レンタルのInfrastructure as a Service (IaaS) またはPlatform as a Service (PaaS) システムで実行されます。これにはハードウェア、場合によってはオペレーティング システムとミドルウェアも含まれ、使用量の急激な増加に対応するとともに、顧客に即時かつ継続的な可用性を提供します。SaaS の顧客は無制限のコンピューティング リソースを抽象化できると同時に、規模の経済によってコストが削減されます。SaaS アーキテクチャは通常はマルチテナントです。通常は効率化のためにクライアント間でリソースを共有しますが、追加料金でサイロ化された環境を提供する場合もあります。一般的な SaaS の収益モデルには、フリーミアム、サブスクリプション、使用量ベースの料金などがあります。従来のソフトウェアとは異なり、特定のバージョンのソフトウェアの永久ライセンスを購入できることはほとんどありません。
SaaS と他のアプリケーション開発を区別する特定のソフトウェア開発手法はありませんが、頻繁なテストとリリースに重点が置かれることがよくあります。

IaaS( Infrastructure as a Service )はクラウドコンピューティングの最も基本的な形式で、物理コンピュータなどのインフラストラクチャリソースをユーザーが所有するのではなく、クラウドプロバイダーからリースします。[ 4 ]その結果、コンピュータの出荷とセットアップに数週間待つことなく、インフラストラクチャリソースを迅速に増強できます。IaaSでは、オペレーティングシステムとアプリケーションの形でインフラストラクチャを利用するために時間と専門知識が必要です。[ 5 ] PaaS( Platform as a Service)にはオペレーティングシステムとミドルウェアが含まれますが、アプリケーションは含まれません。[ 6 ] [ 7 ] SaaSプロバイダーは通常、PaaSまたはIaaSサービスを使用してアプリケーションを実行します。[ 6 ]
IaaSがなければ、顧客が期待する即時かつ継続的な可用性を提供しながら、可変数のユーザー向けにスケーラブルなSaaS製品を作成することは非常に困難です。[ 8 ] ほとんどのエンドユーザーはSaaS製品のみを利用し、物理的なハードウェアやオペレーティングシステムの技術的な複雑さを心配する必要はありません。[ 9 ]クラウドリソースは人間の介入なしにアクセスできるため、SaaSの顧客には無制限のコンピューティングリソースの抽象化が提供され、規模の経済によってコストが削減されます。[ 10 ]クラウドコンピューティングのもう1つの重要な特徴は、ソフトウェアの更新をほぼ瞬時に展開してすべての顧客に提供できることです。[ 11 ] 2019年には、SaaSがクラウドコンピューティング市場の過半数(43%)を占めると推定され、IaaSとPaaSを合わせた割合は約25%でした。[ 12 ]
1960年代には、マルチタスクが発明され、メインフレームコンピュータが複数のユーザーに同時にサービスを提供できるようになりました。[ 13 ]次の10年間で、タイムシェアリングがコンピューティングの主なビジネスモデルになり、クラスターコンピューティングにより複数のコンピュータの連携が可能になりました。[ 10 ]クラウドコンピューティングは1990年代後半に登場し、 Amazon (1994)、Salesforce (1999)、Concur (1993)などの企業がインターネットベースのアプリケーションを従量課金制で提供しました。これらはすべて、高い市場シェアを獲得するために単一の製品に注力していました。[ 14 ] 2004年のGmailに始まり、電子メールサービスは消費者向けに大量販売された最初のSaaS製品の一部でした。[ 15 ] SaaS市場は21世紀初頭を通じて急速に成長しました。[ 16 ] [ 12 ]当初は技術革新と見なされていましたが、SaaSはビジネスモデルとして認識されるようになりました。[ 17 ] 2023年までに、SaaSは企業がアプリケーションを配信する主な方法になりました。[ 18 ]
一般的な消費者向けSaaS製品には、あらゆるソーシャルメディアウェブサイト、Gmailやそれに関連するGoogleドキュメントエディタなどの電子メールサービス、[ 19 ] Zoom、Dropbox、[ 20 ] NetflixやSpotifyなどのエンターテイメント製品などがあります。[ 21 ]エンタープライズSaaS製品には、Salesforceの顧客関係管理(CRM)ソフトウェア、SAP Cloud Platform、Oracle Cloud Enterprise Resource Planningなどがあります。[ 20 ]
SaaSプロバイダーの中には、広告、アフィリエイトマーケティング、消費者データの販売などによって資金を調達し、消費者に無料サービスを提供しているところもあります。 [ 22 ]インターネットの新興企業やモバイルアプリの最も一般的なモデルの一つはフリーミアムで、企業は継続使用やより高いレベルのサービスに対して料金を請求します。[ 23 ]ユーザーが有料版にアップグレードしなくても、企業がより高い市場シェアを獲得し、ライバルから顧客を奪うのに役立ちます。[ 24 ]しかし、有料版を使うように誘導できたかどうかに関わらず、ユーザー数が増えるにつれて企業のホスティング費用は増加します。[ 25 ]もう1つの一般的なモデルは、無料版ではデモのみを提供するものです(クリップルウェア)。オンラインマーケットプレイスは、SaaSプロバイダーの費用をカバーするために取引手数料を請求する場合があります。[ 22 ]かつてはSaaS製品が1回限りの費用で提供されるのが一般的でしたが、このモデルの人気は下降しています。[ 22 ]いくつかの[ 22 ] SaaS製品はオープンソースコードを採用しており、オープンSaaSと呼ばれます。このモデルは、導入コストの削減、ベンダーへの依存度の軽減、アプリケーションの移植性向上などの利点をもたらします。[ 26 ]
最も一般的な SaaS 収益モデルは、サブスクリプションと従量制課金です。[ 27 ]顧客にとってのメリットは、従来の永久ソフトウェア ライセンスに比べて初期費用が安く、柔軟性が高く、総費用が安いことです。[ 28 ]場合によっては、従来のソフトウェアの販売者が要求する高額な 1 回限りの費用は中小企業には手が届きませんでしたが、従量制課金の SaaS モデルならソフトウェアを手頃な価格で入手できます。[ 3 ]使用量は、ユーザー数、トランザクション数、使用されるストレージ容量、またはその他の指標に基づいて課金される場合があります。[ 29 ]多くの購入者は、自分たちはソフトウェアを比較的使用しないユーザーだと考えているため、従量制課金を好みます。また、販売者も、そうでなければソフトウェアを購入しないようなたまに利用するユーザーにリーチすることで利益を得られます。[ 29 ]しかし、販売者にとっては収益の不確実性が生じ、請求の諸経費が増加する可能性があります。[ 30 ]
SaaSのサブスクリプションモデルは、解約されやすいという欠点はあるものの、プロバイダーに継続的かつ更新可能な収益源を提供します。[ 3 ]多数の顧客が解約されると、事業の存続が危ぶまれる可能性があります。[ 3 ]サブスクリプションを解約して競合他社に乗り換えるのは簡単なので、顧客は売り手から譲歩を引き出す力を持つことになります。[ 31 ]継続的な収益はビジネスに役立ち、投資家を引き付けることができますが、顧客にサブスクリプションの更新を説得するためのカスタマーサービススキルが必要になるため、他の収益モデルからサブスクリプションに切り替えるプロバイダーにとっては課題となります。 [ 32 ]
SaaS製品は通常、公開されているウェブアプリケーションとしてウェブブラウザ経由でアクセスされます。[ 33 ] [ 18 ]これは、顧客がアプリケーションをインストールしたりアップデートしたりすることなく、どこからでもどのデバイスからでもアクセスできることを意味します。[ 18 ] [ 34 ] SaaSプロバイダーは、多くの場合、製品へのサインアップの難易度を最小限に抑えようとします。[ 35 ]多くのプロバイダーは、サービス指向の構造を利用して顧客のフィードバックに対応し、需要に合わせて製品を迅速に進化させます。 これにより、顧客は製品の継続的な改善を信頼でき、SaaSプロバイダーは、より詳細な機能セットを提供できる可能性のある確立された従来のソフトウェア会社から顧客を獲得できるようになります。[ 36 ] [ 37 ]
オンプレミスのソフトウェアはSaaSの代替手段よりも安全性が低い場合が多いですが、[ 38 ]セキュリティとプライバシーは、SaaS製品を採用しない企業が挙げる主な理由の1つです。[ 39 ] SaaS企業は、公開されている製品をサービス拒否攻撃やハッキングなどの悪用から保護する必要があります。 [ 40 ]データの機密性を保護するために、アクセス制御、認証、暗号化などの技術がよく使用されます。[ 39 ]ただし、すべての企業がSaaSプロバイダーが機密データを安全に保持していると信頼しているわけではありません。[ 39 ]ベンダーは、セキュリティパッチを含むソフトウェアの更新と、顧客データの保護に責任を負います。[ 34 ] SaaSシステムは、ネットワークパケットがクラウド施設に配信されるまでの時間により、オンプレミスで実行されるソフトウェアよりも本質的に遅延が大きくなります。これは、時間に敏感な産業プロセスや倉庫保管などの一部の用途では法外な場合があります。[ 41 ]
SaaS製品の台頭は、多くの企業がIT予算を設備投資から運用費へとシフトする要因の一つとなっている。[ 42 ] SaaSへの移行とそれをサポートするプロセスも、計上しなければならない大きなコストとなる可能性がある。[ 43 ] [ 32 ]

SaaSプロバイダーにとっての課題は、需要が事前に予測できないことです。システムには、すべてのユーザーを処理できるだけの余裕を持たせ、誰も利用を拒否することなく、かつ不要なリソースに過剰な費用を支払わずに済むようにする必要があります。リソースが静的であれば、ピーク時以外は確実に無駄になります。[ 45 ]負荷分散と無駄の削減のため、オフピーク時にはより安価な料金が提供されることもあります。[ 46 ]継続的なサービス提供への期待は非常に高いため、SaaSソフトウェアのサービス停止はニュースで頻繁に報道されます。[ 47 ]
SaaS と他の種類のアプリケーション開発を区別する特定のソフトウェア開発手法はありません。 [ 48 ] SaaS 製品は、SaaS 配信モデルの柔軟性を活用するために、早期かつ頻繁にリリースされることがよくあります。[ 49 ] このリリーススケジュールをサポートするために、アジャイルソフトウェア開発が一般的に使用されています。 [ 50 ]多くの SaaS 開発者は、サービスの可用性と迅速な展開を確保する必要があるため、テスト駆動開発を使用したり、頻繁なソフトウェアテストを重視したりしています。 [ 51 ]ビジネス目標が開発を推進するドメイン駆動設計が普及しているのは、SaaS 製品が有用であることで顧客にアピールする必要があるためです。[ 52 ] SaaS 開発者は、顧客がデスクトップコンピューター、タブレット、スマートフォンなど、どのデバイスから製品にアクセスしようとするかを事前に把握していないため、フロントエンド開発チームにとって、幅広いデバイスのサポートが重要な懸念事項となることがよくあります。[ 53 ]プログレッシブウェブアプリケーションでは、デバイスがオフラインの場合でも一部の機能を利用できます。[ 54 ]
SaaSアプリケーションは主に、広域ネットワーク上で動作する統合プロトコルとアプリケーションプログラミングインターフェース(API)を提供します。[ 55 ]
SaaSアーキテクチャは製品によって大きく異なります。[ 56 ] しかし、ほとんどのSaaSプロバイダーはマルチテナントアーキテクチャを提供しています。[ 33 ]このモデルでは、単一の構成(ハードウェア、ネットワーク、オペレーティングシステム)を持つ単一のバージョンのアプリケーションがすべての顧客(「テナント」)に対して使用されます。[ 57 ]これは、企業が複数のバージョンと構成をサポートする必要がないことを意味します。[ 18 ]各顧客が独自のハードウェアで独自のバージョンのソフトウェアを実行するというアーキテクチャの変化は、アプリケーションの設計とセキュリティ機能の多くの側面に影響を与えます。[ 57 ]マルチテナントアーキテクチャでは、多くのリソースを異なるテナントで使用したり、複数のテナント間で共有したりできます。[ 58 ]

典型的なSaaSアプリケーションの構造は、アプリケーションプレーンとコントロールプレーンに分けることができます。[ 59 ] SaaS製品によってこれらのプレーンの分離方法は異なり、イベント駆動型またはメッセージ駆動型モデルで密接に統合されている場合もあれば、疎結合されている場合もあります。[ 60 ] コントロールプレーンはシステムの管理を担当し、テナントのオンボーディング、課金、メトリクスなどの機能に加え、SaaSプロバイダーがサービスの設定、管理、運用に使用するシステムもカバーします。[ 59 ]多くのSaaS製品は、異なる価格で異なるレベルのサービスとして提供されており、これをティアリングと呼びます。これは、一般的にコントロールプレーンに配置されますが、両方のプレーンのアーキテクチャにも影響を与える可能性があります。[ 61 ]アプリケーションプレーンとは異なり、コントロールプレーンのサービスはマルチテナント用に設計されていません。[ 62 ]

アプリケーションプレーンは製品の性質によって大きく異なりますが、SaaS製品のコア機能を実装します。[ 62 ]重要な設計上の課題としては、異なるテナントを分離して、他のテナントのデータやリソースを表示または変更できないようにすることなどが挙げられます。[ 64 ]最も単純なSaaSアプリケーションを除き、一部のマイクロサービスやその他のリソースは、すべてのテナント間で共有されるのではなく、テナントごとに割り当てられます。[ 65 ]テナントのリクエストを適切なサービスに誘導するには、ルーティング機能が必要です。[ 63 ]

一部のSaaS製品では、テナント間でリソースを共有しません。これはサイロ化と呼ばれます。これによりSaaSの効率性に関するメリットの多くが打ち消されますが、レガシーソフトウェアをSaaSに移行しやすくなり[ 67 ]、場合によってはプレミアムサービスとして高価格で提供されます。[ 68 ]すべてのリソースをプールすると、より高い効率性を達成できる可能性がありますが[ 69 ]、停止はすべての顧客に影響を与えるため、可用性をより優先する必要があります。[ 70 ]多くのシステムでは、一部のリソースをプールし、他のリソースをサイロ化するという両方のアプローチを組み合わせて使用しています。[ 71 ]他の企業では、複数のテナントをポッドにグループ化し、それらの間でリソースを共有しています。[ 72 ]
米国では、憲法上の捜索令状法は、動的に保存されるSaaSデータ全般を保護するものではありません。その結果、政府はSaaSプロバイダーに対し、所有者の同意なしにデータの提供を要求できる可能性があります。[ 73 ] [ 74 ]
GPL-2.0などの特定のオープンソースライセンスでは、ドイツではSaaS製品として配布することを許可する権利を明示的に付与していません。[ 75 ]