Googleの技術者の一人が、Google+の彼のページで、ロックインのまったくないクラウドプラットホームはありえない、と結論していた。たしかにそれはそうだけど、でもそんなことをわざわざ言うのには理由がある。クラウドのユーザたちのあいだで議論になっているこのロックインというホットな話題に関しては、Googleも他社もあまり変わらない、とGoogleは言いたいのだ。
Googleのエンジニアリング部長Peter Magnussonが書いたその記事は、その真のねらいを汲んで読む必要がある。MagnussonはGoogle App Engine(GAE)のロックインの問題を主に述べているのだが、彼はそれと同時に、同社の管理サービスやIaaSを、AWSなどと比較しているのだ。そして彼曰く、Googleも、何らかの制約なくしてサービスを提供することはできない、と。彼らがこれから提供しようとしているのは、AppScaleなどが提供しているサービスに代わるものだ、という。
どうやらMagnussonがこんなことを言うのも、Google App Engineのユーザの中には、それにいくつかの制約が伴っていることを、嫌っている者がいるかららしい。ランタイム環境が独特だし、システムコールができない、ファイルシステムへのライト(write)ができない、オペレーティングシステムを選べない…。
Magnussonは、GoogleがGAEというサービスを提供するためにはロックインが避けられない、と言う:
ある程度のロックインなしに革新的なプラットホームを作ることは不可能だ。たとえばDatastoreは、そこらにあるそのほかのNoSQLやNearSQLサービスやスタックと似ていない。レプリケーションが複数のデータセンターで同期する、カーソルがある、ディスティンクトクェリ、プロジェクションクェリ、ジグザグマージJOIN、トランザクションタスク、自動シャーディング/ロードバランシング、マネージドセカンダリインデクス、マルチロウ/マルチマシントランザクションなどなど、いずれも独特だ。これらの機能を犠牲にして何らかの最小公分母で妥協することはできない。ベースとなっているソフトウェアの機能を十分に生かせる機能を、なるべく多く提供したいのだ。
GAEは、そのほかのPaaSプロバイダ、たとえばCloudbees、Heroku、6月にCenturyLinkが買収したAppFogなどと横並びで比較される。しかしGoogleは、手作業的な操作やインフラの管理など、そのほかのサービスが特長としている側面をあえて抽象化している。そこで、Googleのアプリケーションサービスには、ユーザが直接できないことがいくつかある。それらの部分は、ユーザのファイアウォールに代わってGoogleが担当し、DoS攻撃やウィルスなどを防いでいるからだ。
Magnussonの主張ではそのために、モバイルアプリやWebアプリケーションの多くが、立ち上がりが速くて、スケールするのも速い。スケールや、アプリケーションを別のデータセンターに移動させることなどは、すべてGoogleが面倒を見る。
しかし実際の問題は、ユーザをプロプライエタリなプラットホームに閉じ込めてしまうクローズドで独特なAPIだ。Twitterの上でぼくの質問に答えてくれた人たちの多くが、何らかのロックインは避けられないという点では同意している。
[訳]: ロックインのレベルはプラットホーム自身よりも顧客のユースケースに依存する面が大きい。データの重力の影響はそれほどでもないし、ツールがマイグレーションを十分に助けてくれる。
AWSはロックインのあるサービスとして挙げられている:
[訳]: AWSが独自のエコシステムを築こうとするやり方も、事実上のロックインだ。
ThinkJarのファウンダで主席アナリストのEsteban Kolskyによると、ロックインの最小化はオープンスタンダードで可能だが、現状のマーケットに関してそれを言うのはまだ早すぎる:
共通の規格を使えば理論的にはロックインは起きないが、まだそういうものを採用している企業が少ない。
自分が提供するプラットホームにある程度のロックインを設けることは、ベンダの利益に貢献する。今のライセンス方式では、ロックインによる“縛り”がないとユーザが流動的になりすぎて、売上の予測ができない。売上が今のクラウドが約束しているように(すでに小さなベンダが実行しているように)単純明快な従量制なら、ユーザは必然的に複数のベンダからつまみ食いする使い方になるので、ロックインは存在できなくなる…ただしそれも、現状ではあくまでも理論だ。しかしAmazonとRackspaceを比較しても分かるように、ロックインが今でも相当厳しいのは、プラットホーム(PaaS)よりもインフラストラクチャ(IaaS)の方だ。
また、ロックインにはユーザの利益もある。とくに企業のIT部門は身軽な移行ができないし、それを迫られてもいない。
だからこの問題は、エンタプライズソフトウェアの問題は何でもそうだけど、ユーザやベンダの目先の利便性をとるか、それとも経営トップや市場など最終受益者の利益を優先するか、という問題に帰結する。
ロックインという問題は、クラウドサービスのプロバイダにつねにつきまとう。OpenStackも、今後のプラットホームの多様化(Red Hat、IBM、Cloudscaling、HP、Rackspaceなどなど)とともに、結果的にロックインを余儀なくされる。
Magnussonも、スタンダードの重要性は認めつつ、まだそれを言うのは時期尚早だ、と述べている。たしかに、そんな見方もありえるだろう。
しかし、多くのベンダが今の市場で学びつつあるのは、あるクラウドから別のクラウドへデータやアプリケーションを移動させるサービスの重要性だ。そして複数のクラウドベンダが、顧客の要求の高度化により、互いの相互運用性を優先的に重視せざるをえなくなれば、彼ら全体が一つのエコシステムとして成長し、繁栄していくことになるだろう。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa))