クラウド・コンピューティングのサービス・モデル: 第 3 回、Software as a Service

SaaS (Software as a Service) を利用することで開発に対する投資収益率 (ROI) を高めることになる 4 つの主な要因、そしてこれらの要因を有効に活かすことで利害関係者にとって SaaS を収益性の高いものにする方法を学んでください。この全 3 回の連載の最後の記事では、SaaS が示すビジネス・モデルの可能性を探り、SaaS アプリケーションでのユーザー・エクスペリエンス・デザインの役割を明らかにします。

この全 3 回の連載では、クラウド・コンピューティングの概念にまつわる混乱がなくなるように、クラウド・コンピューティングを実際に使用する際に関係してくるさまざまな事項をわかりやすい例として取り上げます。そして、連載の記事ごとにクラウド・コンピューティングの 3 つのサービス・モデルである、IaaS (Infrastructure as a Service)、PaaS (Platform as a Service)、SaaS のそれぞれに話題を絞って説明します。連載を読み終える頃には、クラウド・コンピューティングは単なる流行語ではなくなっているはずです。

Dan Orlando, CEO, Creative RIA

Photo of Dan OrlandoDan Orlando は、エンタープライズ開発コミュニティーでリーダーとして広く認められています。経験豊かなコンサルタントとして、彼の Adobe 技術プラットフォームに関する専門知識は、業界のリーダーだけでなく、IBM developerWorks や Adobe Developer Connection などの出版物、そして Amazon Web Services からも度々必要とされています。DanOrlando.com でも、定期的にブログを投稿しています。



2011年 12月 02日

SaaS (Software as a Service) では、ネットワークを介して商用のソフトウェアを利用することができます。皆さんも、その時点では気付いていなかったとしても SaaS を使用したことがあるはずです。SaaS の例には、Netflix、Photoshop.comAcrobat.com、Intuit QuickBooks Online、Gmail、Google Docs などが挙げられます。それほど明らかではありませんが、成長し続けているモバイル・アプリケーション市場でも SaaS の実装がかなりの部分を占めています。

よく使われる頭文字語

  • API: Application Programming Interface
  • GUI: Graphical User Interface
  • IT: Information Technology
  • LAN: Local Area Network
  • ROI: Return On Investment
  • UI: User Interface

SaaS は企業にとって、これまでよりも低いコストでソフトウェアを使用する方法となる可能性があります。特に、ほとんどのコンピューターが 70% 近くの時間使用されていない状態だとしたら、これらのコンピューターのそれぞれにソフトウェアのライセンスを購入する代わりに、必要に応じて SaaS を使用することでコストを削減することができます。1 人のユーザーのために複数のライセンスを購入するのではなく、1 つのライセンスが常に使用されている状態に近づけることができれば、企業ではその分、コストを節約できるというわけです。

参考までに、この連載の第 1 回の記事に記載した 3 つのサービスの概念比較表を表 1 にもう一度記載します。

表 1. クラウド・コンピューティングの 3 つのタイプの概念比較表
パラダイム・シフト特徴鍵となる用語利点欠点およびリスク使用すべきでない場合
IaaS資産としてのインフラストラクチャー通常はプラットフォームに依存しません。インフラストラクチャーにかかるコストは共同で負担されることから、コストが削減される結果となります。その他、SLA、従量課金制、自動スケーリングという特徴があります。グリッド・コンピューティング、ユーティリティー・コンピューティング、コンピューティング・インスタンス、ハイパーバイザー、クラウド・バースティング、マルチテナント・コンピューティング、リソース・プーリングハードウェアおよび人的リソースへの資本支出が不要になります。ROI リスクの軽減、参入障壁の低さ、効率化された自動スケーリングという利点もあります。ビジネスの効率性と生産性は、ベンダーの能力に大きく依存します。長期的な支出が大きくなる可能性があります。一元化には新しい、あるいは異なるセキュリティー対策が必要です。資本予算が運用資産を上回る場合
PaaSライセンス購入クラウド・インフラストラクチャーを使用します。アジャイルなプロジェクト管理手法の必要に応えます。ソリューション・スタックバージョン・デプロイメントの効率化一元化には新しい、あるいは異なるセキュリティー対策が必要です。該当なし
SaaS資産としてのソフトウェア (企業およびコンシューマー)SLA。シン・クライアント・アプリケーションで駆動する UI。クラウドのコンポーネント。API を介した通信。ステートレス。疎結合。モジュール式。セマンティック相互運用性。シン・クライアント。クライアント・サーバー型アプリケーション。ソフトウェアおよび開発リソースへの資本支出が不要になります。RIO リスクが軽減されます。更新は効率的に繰り返し行われます。データの一元化には新しい、あるいは今までとは異なるセキュリティー対策が必要です。該当なし

SaaS が ROI を高める 4 つの要因

SaaS はソフトウェア・ベンダーに新しい可能性をもたらします。SaaS ソフトウェア・ベンダーは ROI を高める決定的な要因として、特に以下の 4 つを挙げています。

  • デプロイメント時間の短縮
  • 新規ユーザーの増加
  • サポート要件の削減
  • 実装およびアップグレード・コストの低減

デプロイメント時間の短縮

歴史的に見て、従来のデスクトップ・アプリケーションはデプロイメントに関する大きな難題を抱えています。事実、私はデスクトップ・アプリケーションの開発者がアプリケーションを更新することを、「デプロイメントの悪夢」と呼んでいるのを何度も耳にしています。デスクトップ・アプリケーションのデプロイメントには、Tariq Ahmed 氏が『Flex 4 in Action』(Manning Press) の第 1 章に記している「何十万とはいかないまでも、何千ものクライアントに、まったく同じバージョンのソフトウェアを一斉に実行させようとすると、その実施計画の複雑さは計り知れないほどになります」という言葉通りのものがあります。

Ahmed 氏はさらにその著書の中で、この計り知れない複雑さが理由で、デスクトップ・ソフトウェアを開発しているほとんどの企業は、すべてのクライアントに同じバージョンのソフトウェアを実行させることが妥当であるとも、さらには実現可能であるとすら思っていないと述べています。過去にこうしたタスクで悪戦苦闘したことのある開発者は、自ら開発したソフトウェアを SaaS としてデプロイする有力な候補です。ただし、従来のソフトウェア・ハウスが SaaS 市場に参入する際には、デスクトップ・アプリケーションを SaaS アプリケーションとして実行可能にすることが最大の難関となります。多くの場合、SaaS アプリケーションとして実行できるようにするには、ある程度ソフトウェアを作成し直さなければなりませんが、企業によってはそれではあまりにもコストがかかり過ぎると判断する場合があります。

これが主な理由の 1 つとなって、クラウド・コンピューティングへの移行はこれまで時間のかかる段階的なプロセスとなってきました。大抵の場合、クラウド・コンピューティングへ移行するための理にかなったソリューションは、ソフトウェアをいくつかのフェーズに分けてクラウドに移していくことです。その最初のフェーズとしては、元のアプリケーションを大幅にスケールダウンしたバージョンを SaaS として提供します。開発者が行うバージョン管理をコントロールする難しさを考えると、この最初のフェーズは極めて妥当です。このフェーズはまた、SaaS の具体的な分析が非常に大きな意味を持つフェーズでもあります。

クラウド・コンピューティングとかつての「LAN コンピューティング」との間には、多くの類似点が認められます。かつての典型的な LAN アーキテクチャーは、施設内の一連のワークステーション (よく「ダム端末」と呼ばれます) からなり、これらのワークステーションは、通常 IBM が提供する強力なメインフレームに接続してアプリケーションを実行していました (図 1 を参照)。

図 1. 基本的な LAN でのクライアント端末とメインフレーム・システムとの関係を示す概略図
基本的な LAN でのクライアント端末とメインフレーム・システムとの関係を示す概略図

このようなコンピューティングは、企業にとっては有効に機能しました。それは、IT 部門がバージョン管理を最大限にコントロールできることから、ソフトウェアの更新があるたびに、それをほとんど、あるいはまったく苦もなくシームレスにデプロイできたためです。これと同じように、クラウドには、デスクトップ・ソフトウェア・アプリケーションの開発者にとってこれまでバージョン管理の妨げとなってきた実施計画に関する障壁は存在しません。ソフトウェアが実行されるインフラストラクチャーには、開発会社が直接アクセスできるからです。

対応可能なクライアントの数という点では、SaaS インフラストラクチャーは明らかに LAN のサイズと規模を大幅に上回っていますが、基本概念は LAN と同じです。図 1 に示した単一のメインフレームワークは、このフレームワークに接続するローカル・ネットワーク内のすべてのクライアントに対応できるだけのソフトウェア・インスタンスをホストすることができます。一方、図 2 に示すクラウドは、多数の異なるコンピューター・リソースで構成されています。このすべてのコンピューター・リソースが 1 つのコンピューティング能力として結集されることで、世界中のクライアントに対応するために必要なだけ、ソフトウェア・インスタンスを実行できるというわけです。

図 2. SaaS でのクラウドに対するクライアント機器の関係を示す概略図
SaaS でのクラウドに対するクライアント機器の関係を示す概略図

新規ユーザーの増加

ここで企業にとっての SaaS から一旦離れ、一般の利用者にとっての SaaS の意味を考えてみると、これまで一般の利用者が使用するにはライセンス料が高すぎたソフトウェアでも、SaaS によって手が届くようになることがわかります。その好例は、Adobe Photoshop を SaaS として使用できるようにするための Adobe の取り組みです。この取り組みはまだ進行中で、Adobe にとって進化途中の実験的試みとはなっているものの、進展は見られます。例えば私の周りでは、初歩的な写真の編集だけを行う場合には、本格的なバージョンを使用する代わりに Photoshop.com を使用するようになっている友人や家族が増えています。その意義は、完全版に含まれる機能が必要ない人々にとって、お金を節約できるという点にあります。それと同時に、Photoshop.com がなければ Photoshop を試すこともなかった人々がいるということは、Adobe にとって Photoshop.com がなければ接点を持つ機会もなかった顧客を長期的な顧客として獲得できる可能性があるということです。

特に興味深いのは、SaaS にはさまざまなビジネス・モデルがあることです。例えば、Intuit では QuickBooks Online を月額のサービス料で使用できる SaaS として提供しています。私は事業主として出張する機会が多く、しかもビジネス・パートナーが 400 マイル離れた別の州に住んでいることから、このサービスはとりわけ重宝しています。その一方で、Adobe はソフトウェアをフリーミアム・サービスとして提供することで、Photoshop.com と Acrobat.com で SaaS の能力を活用しています。フリーミアムとは、ライセンスによって使用が許諾されるソフトウェア製品をスケールダウンした SaaS オファリングをベースとした特定のビジネス・モデルを表すために作られた言葉です。

フリーミアム SaaS がベースとする収益モデルでは、無料で使用するユーザーのうち、ある程度の割合のユーザーがその有用性を認め、最終的には追加の機能を使用できる有料版の SaaS にアップグレードするか、あるいはすべての追加機能を使用できるデスクトップ版のソフトウェア・ライセンスを購入することを見込んでいます。「限定デモ」モードのソフトウェアを試すには、結局は購入しないかもしれないアプリケーションをデスクトップにインストールしなければならない場合と比べ、フリーミアムのほうが方法として好まれる傾向があります。さらに、このモデルでは無料のユーザーがアップグレードする割合が見込みほどではない場合には、宣伝を利用して補うことが可能です。クラウド・コンピューティングの進化が続くなか、フリーミアム・サービスとして提供する方法は、変化する市場に従来のデスクトップ・ソフトウェア・ベンダーが適応するための共通手段として使用されます。

サポート要件の削減

大規模な顧客サービス・ヘルプ・デスクにかかるコスト、そして複数のプラットフォームをサポートしなければならないことによるサポート事項の増加という問題は、SaaS によって大幅に軽減されます。第一に、デプロイメントが容易であることから、開発者はバグが発見されるとすぐに修正を実装することができます。つまり、ほとんどのバグは、大多数のユーザーが遭遇する前に修正できるため、顧客サポートを求める電話の件数が減ると同時に、顧客満足度および顧客維持の可能性が飛躍的に高くなります。

第二に、従来のデスクトップ・ソフトウェア・アプリケーションのメーカーは多くの場合、複数のプラットフォームをサポートしなければなりません。例えば、開発者が Windows 7 だけでなく、Apple Mac OS X 10.6 もサポートしなければならないとしたら、2 つ目のオペレーティング・システムのサポートを追加するだけで、開発コストは約 2 倍に膨らんでしまいます。それだけではありません。これらのオペレーティング・システムのさまざまなバージョンのサポートに関する問題も持ち上がってきます。オペレーティング・システムの複数の種類のみならず、同じ種類の複数のバージョンをサポートするのにも限界もあります。

例えば、Windows 7 で実行されるプログラムを作成している一方、そのプログラムに Windows XP との互換性を持たせる必要がある場合は、両方のバージョンで機能を実行できるように特別な注意を払う必要があります。そうでないと、プロジェクトを分岐させざるを得なくなり、バージョンごとに別々のコード・ベースを扱うことになります。これでは明らかに、生産性と効率性が下がり、プロジェクトを完了させるまでのスケジュールが延びてしまいます。企業経営者に心臓発作を起こさせる最も手っ取り早い方法は、今後 2 年間の反復的な作業のスケジュールが 2 倍になったと伝えることです。それに加え、異なるオペレーティング・システムとそれぞれのオペレーティング・システムの異なるバージョンをサポートするための予算が増えれば、ソフトウェア開発プロジェクトが失敗する確率が高くなるのは何よりも当然のことです。

実装およびアップグレード・コストの低減

SaaS が ROI を高めることになる 4 番目の要因は、最初の要因と若干似ています。「デプロイメント時間の短縮」は、アプリケーションの更新を苦もなく迅速にデプロイできることによるメリットを意味しますが、それとは対照的に、「実装およびアップグレード・コストの低減」は、開発会社がバージョン管理と、ソフトウェアを実行するインフラストラクチャーの両方をコントロールできる結果として得られる財政面でのメリットを表しています。

ソフトウェアが実行されるプラットフォームを開発者がコントロールできることから、複数のプラットフォームでバグ・フィックスおよび新機能のテストとデプロイメントをするという作業が追加されることもなく、開発者の作業は大幅に軽減されます。通常、このことは、ユーザーにはまったく気付かれませんが、こうした作業の軽減のおかげで、SaaS アプリケーションのアップグレードを提供する工程は桁違いのコストがかかるものではなくなります。時間とコストがともに大幅に節約されることで、開発者は機能要求に極めて迅速に対応し、ユーザビリティーを高めることができるようになるため、顧客満足度と顧客維持によって間接的に財政面でのメリットがもたらされることになります。


SaaS とユーザー・エクスペリエンス・デザイン

SaaS アプリケーションの設計は、ある種、次世代的なアプリケーション設計手法が用いられます。これまで私が目にしたどの文書にも技術的な記述はありませんが、SaaS プログラムは、他のほとんどの業界で見られる製品設計プロセスと、より一貫性のある最新の UI 設計手法も取り入れています。この手法には、ユーザー・エクスペリエンス・デザイン (UXD) として知られるプロセスが含まれ、GUI の設計は開発チームではなく、製品チームが担当します。

UXD の一番の目標は、対象の顧客ベースに最も有用なアプリケーションにするために必要なものを明らかにし、その情報を設計の一部として盛り込むことです。これは、どんな種類のソフトウェアの開発でも行われていることだと言えるかもしれませんが、UXD はとりわけ SaaS アプリケーション開発で広く行き渡っているようです。その理由はおそらく、SaaS では従来のソフトウェアとは異なるビジネス・モデルを使用できること、そして SaaS 開発によって実現される大幅な節約に関係しています。


開発者にとっての SaaS

これまで学んできたように、本格的なクラウド・コンピューティングは企業や利用者にとって大々的な移行であり、多くの課題を克服しなければなりません。そのため、クラウド・コンピューティングへの移行プロセスには時間がかかり、いくつかの段階的な転換期を経ることになります。コンピューティングにおけるこの進化の過程のなかで、ソフトウェア・ハウスに不可欠な能力は、変化する環境に適応し、企業や利用者などの要求を引き続き満たすことです。

企業が、クラウドでのコンピューティングの進化とともに変化する環境に適応する必要があるのと同じく、ソフトウェア・プログラマーが高い能力を発揮して必要とされ続けるには、そのスキル・セットを変化に適応させ、SaaS プログラミング・モデルを理解しなければなりません。クラウド・コンピューティングはただ単に、仮想化によってスケーラブルなインフラストラクチャーとプラットフォームを移植できるようにするだけではなく、ソフトウェアをまったく新しいレベルに引き上げます。このことから、クラウド・コンピューティングは次世代のコンピューター・プログラミングと言っても過言ではありません。これは大胆な発言に聞こえるかもしれませんが、この記事で説明した SaaS の可能性を考えてみてください。

例えば、手頃な価格であることは、より多くの人々が利用できることを意味します。それは、潜在的顧客ベースが拡大することと同じです。それに加え、プラットフォーム、インフラストラクチャー、そしてソフトウェアのバージョン管理をコントロールすることに直結した時間とコストの節約を考えると、SaaS を利用することである程度の「民主化」を伴うことは明らかです。つまり、中小規模の開発会社が大企業と同じフィールドで活躍できるようになります。


まとめ

この記事では、クラウド・コンピューティングの 3 つ目のサービス・モデルである SaaS の詳細について説明しました。さらに重要なこととして、SaaS アプリケーションの普及が意味する可能性、そして課題についても説明しました。

この連載の全 3 回の記事を読んで、皆さんのキャリアあるいは企業の将来のために、クラウド・コンピューティングが意味することをより明確に理解していただけたことを願います。第 1 回と第 2 回で紹介した IaaS および PaaS に関する参考資料に加え、この記事の「参考文献」セクションに記載したリンクを利用して、SaaS についてさらに詳しく学んでください。

参考文献

学ぶために

議論するために

  • My developerWorks コミュニティーに加わってください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=776859
ArticleTitle=クラウド・コンピューティングのサービス・モデル: 第 3 回、Software as a Service
publish-date=12022011