PaaSかIaaSかの議論はもう充分!? クラウドは実際はプラットフォームとしてのサービス(SaaP)に関係♪

Subscribe with livedoor Reader

Cassatt社、Sun Microsystems社、Forte Software社、さらには最近までCiscoでクラウドコンピューティングの重要な役割をし、その後enStratus社で製品戦略の副社長に就任した新進気鋭のJames Urquhart氏が書いた最新のクラウドのプラットフォームに関するGIGAOMの記事「Enough PaaS vs. IaaS: The cloud is really about Services as a Platform(2014/1/25)」をご紹介です。



Google


ここら辺多分日本は2~3年位米国に後れを取っていますので、表題の「Enough PaaS vs. IaaS: The cloud is really about Services as a Platform(PaaSかIaaSかの議論はもう充分: クラウドは実際はプラットフォームとしてのサービスに関係している(SaaP))」も結構刺激的で、なおかつ要約としては下記になりますが何を言っているか大半の日本人には分かりません状態だと思いますが、軽いカルチャーショックでもたまにはどうぞ。

(個人的な感想) あちら米国では来年で Cloud誕生から10年目なので CloudもiPas2のように Cloud 2.0なんて総称も出て来たりしていて新しいフェーズに入っています。そういった意味で既存の Cloudを理解した上で異なった斬新な考えが出来ないと今後は生き残っていけないように感じますね。

そういった意味で開発者の声を聞いてフィードバックを掛ける、そんな時期でもあるんでしょうね。James Urquhart氏の意見も開発者側の視点で見ているように感じます。その視点ではIaaSとPaaSの境界なんて意味がなく、今主要なプレーヤーであるAWSのIaaSはRDSやElastic Beanstalkなどのミドルウェアサービスを提供し、MicrosoftのSaaSはAzureというプラットフォームを提供しています。

さらにはCloud FoundryやOpenShiftなどの優れたプラットフォームもあり、開発者自体は一つのプラットフォームに縛られたくない、その意味ではだんだんとIaaS、PaaS、SaaSの境界は曖昧になっていくのでは? 結局はソフトウェア・イノベーションの将来にとってはそんな境界は重要じゃないという結論かな?

【エグゼクティブ・サマリー】
クラウドで次の最先端分野として熱い注目を集めているPaaSですが、この分野の専門家によるとそれはPaaSという市場というよりはむしろクラウド本来の特徴だと結論つけています。さらにJames Urquhart氏は「プラットフォームとしてのサービス(SaaP)」が本当の意味のクラウド・モデルであり、PaaS vs. IaaSという議論は現実的に意味のない議論であるとした。


----------------------------------------------------------------

ここ数週間というもの、技術報道陣、色々な技術ベンダーさらにはユーザーの間で興味深くタイムリーな議論なんですが、PaaS(サービスとしてのプラットフォーム)はクラウド・コンピューティング・サービスのカテゴリーとして生き残っていけるかどうか?という話題が持ち上がっていました。

「既にご存知のようにPaaS市場は死んでいる」とするNetworkWorldのBrandon Butler氏や、PaaSはIaaSやSaaSに吸収されていくというButler氏の理論に同調する長年クラウドのブロガーであるDavid Linthicum氏やIaaSのパイオニアであるReuven Cohen氏。

Cloud 2.0: Telcos to grow Revenues 900% by 2014より

一方、これに反論する形でPaaSは確実にキーとなるサービスカテゴリーであるとするEMCのJP Morgenthal氏、およびRed HatのKrishnan Subramanian氏。James Urquhart氏も、クラウドにはどんなサービスが存在するかという議論と、それらのサービスがどのように取得されるかという議論ははっきりと区別することが重要であることを強調する意味で、この議論にコメントする価値があるとしています。

そういう区別はある意味様々なベンダーが差別化する試みの弊害となりうるし、開発者向けのプラットフォーム・サービスとして見るとある意味実際にはまだクラウド・サービス市場自体が成熟していないため、よくある戸惑いのように感じると。(彼自身もプラットフォーム自体について話をするつもりはなく、これらPaaSを提供する人たちの市場として話をするという。)

最初に、まず「PaaS」という意味を確認するため、国立標準技術研究所(NIST:National Institute of Standards and Technology)によって定義されたちょっと古い定義を見てみます:

"The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment."

"コンシューマーに提供される機能とは、プログラミング言語、ライブラリ、サービス、およびプロバイダーにより提供されたツールを使用しながらコンシューマーが作成した、あるいは取得したアプリで作成したクラウド・インフラストラクチャー上にデプロイする機能である。コンシューマーは、ネットワーク、サーバ、OSあるいはストレージを含む下層のクラウド・インフラストラクチャーを管理ないしはコントロールしないものの、デプロイされたアプリケーションさらに可能ならアプリケーション・ホスティング環境のための構成セッティングをコントロールする"

以上から、プラットフォーム・サービスと考えられるため、そのサービスはオペレーション向けのコーディングの多くを隠して提供しなければならない。つまり、そのサービスは、実行したり、スケールをデプロイしたり、開発者側の最小限の注意で復旧するアプリケーションを構築するために必要なライブラリ、サービス、およびツールを提供することになります。


その境界をぼかす

その定義が最初に出て以来、2つのことが起こってきました。1つめは、IaaSプロバイダー、特にAWS(アマゾン・ウェブサービス)とMicrosoftは、プラットフォームとインフラストラクチャーの境界をぼかすサービスを提供しているということ。アマゾンの事例では、サービスのワンセットをインフラストラクチャーからのミドルウエア・サービス(RDSやElastic Beanstalkなど)さらにはAutoscalingやOpsworksのような進行中のオペレーション・サービスやディプロイメントも含めたものへ進化させています。

一方、Microsoftはというと、既存のプラットフォーム・ポートフォリオに「仮想マシン」を加えながら、プラットフォーム機能から下層のインフラストラクチャーへ下りてきました。どうしてこうなるんでしょうね? Azureプラットフォーム・サービスは一般化されたアプリケーション開発をサポートする際にはいいかもしれないんですが、開発者はこのプラットフォームを回避した自分自身のソフトウェア・スタックをデプロイすれば良かったとしばしば思うことがあるからなんですね。

これこそが、PaaS、IaaSあるいはSaaSが「勝利のモード」だと言いたくなる問題の核心部分です。開発者の観点からすれば、そんなものはまったく重要でないです。アプリケーション開発は、色々な活動の集合体で、例えばあるものは高度な定型業務の自動化から利益を得たり、あるいはどうソフトを構築し、デプロイし、操作するかに対して高度な柔軟性を求められたりするんですね。最先端な場合でなければ、他から1つのモデルを選ぶなんてことはできません。


上の写真はStructure 2010でHeroku社CEO Byron Sebastian氏がPaaSについて話をしている場面(左からZuora社のCEO Tien Tzuo氏, Oracle社シニアディレクタ Mike Piech氏, Heroku社のCEO Byron Sbastian氏, Rackspace社の社長 Lew Moorman氏, Microsoft社のトップエンジニアYousef Khalidi氏)

SaaP - プラットフォームとしてのサービス

これが故、何故私が「勝利のクラウド・モデル」としてCISCOのLew Tucker氏が嘗て使用した"SaaP(Services as a Platform)"を好むんです。(まあ、Tucker氏によれば長らく忘れられたある出典から引用したとされていますが)。

クラウドとはクラウドを必要とする人によって消費されるサービスの消費(またデリバー)であり、クラウド上での開発はどのようにクラウド・サービスが広範囲な問題のソリューションを構成していくかに注力しているという事実にフォーカスすると、IaaS、PaaSおよびSaaSの曖昧な区別の全体を開発者はカバーしているんですね。つまり、SaaPは開発者の視点からは基本クラウド・コンピューティング自体と同義語で、具体的なものを記述する場合にはまったく役に立たない定義になっています。


もうPaaSがIaaSまたはSaaSに比べてどれ位重要かという議論はここではしませんが、Cloud FoundryあるいはOpenShiftのようなプラットフォーム・ツールは、アプリケーション開発のための共通インターフェースを作る際には非常に重要になるでしょうし、Salesforce.comのHerokuやMicrosoftのAzureのようなプラットフォーム・サービスはより大きなクラウド・サービス・ポートフォリオの一部として上手く成功するように感じます。ただ、開発者はただ一つのモデルに長く拘束されたいとは思わないでしょう。クラウド市場全体で組み合わせて使える点が他のモデルを試す要因になっていると思います。

まあ結局は、ソフトウェア・イノベーションの将来にとって素晴らしいことだと思います。

以上のことについてどう思いますか? 勝利のモデルを選ぶことは重要でしょうか? PaaSがそのモデルでしょうか? 「SaaP(プラットフォームとしてのサービス)」はクラウド上でのソフトウェア開発に関して考えられるべき改善策でしょうか?

COMMENT 0