ビジネスの拡大にフィットするスケーリングを考える
2013年7月、買収によりIBMクラウドに追加されたクラウドコンピューティングサービス「SoftLayer」(ソフトレイヤー)。2014年1月現在、そのIaaSプラットフォームは10万余りのサーバーを擁し、2万2000社以上のユーザー、2000万以上のドメインが使用している。規模が優位性となるクラウド市場にあって、IBMによる買収はSoftLayerにとって事業拡大の大きな機会となるだろう。
ジャクソン氏はSoftLayerについて、他のサービスとは「APIの捉え方とその根幹となる哲学が違う」と言い切る。特徴的なのは、公開しているAPIの範囲が広いことだろう。SoftLayerのモデル(下図)の中央にあるSoftLayer APIでは、ユーザーアプリケーション向けに一般APIを提供する。さらに、SoftLayer自身が使用するAPIまで公開しており、ユーザーのビジネスや統合に利用できるようになっている。
さて、近年のソフトウェアのスケーリングについて、ジャクソン氏は「自分が関わるようになった9年間でも大きく様変わりした」と語る。ビジネスの捉え方、アプリケーションの作られ方、そしてインフラの上でどのようにアプリケーションが活用されるのか、全てが変わってきたというわけだ。その潮流に最も影響を与えたのが「クラウドへの変化」だ。
かつて、システムはトップダウン的なアプローチで作られてきた。つまり、ユーザーからの要件を受け、サーバーやファイアウォールを構築したり、コストに合わせてスケールダウンを行ったりしていた。ジャクソン氏はその様子を「高速道路のレーン」になぞらえて、「必要量の見積もりが重要だが難しい。予測できない出来事が起きれば限界が来てしまう」と評する。
そこで、ジャクソン氏は「カンガルーを考えて」という。「カンガルーはカンガルーでしかないと思いがち。しかし『ティラノサウルスとシカを掛け合わせれば、カンガルーになる』と考えれば、全く新しい見方ができる。そして、今後はそうした見方ができるようになる」(ジャクソン氏)
この発想の転換を、従来のトップダウンアプローチによるシステム構築に適用するとどうなるのか。ジャクソン氏は、決してトップダウンアプローチに問題があるわけではないとした上で、「適材適所での対応が不可欠」と語る。
エンタープライズアプリケーションは条件が明確であり、コスト抑制が課題となる。一方、インターネットスケールアプリケーションはユーザーも使われ方も不確定で"カオス”であり、サーバーの過剰な負荷がむしろ”成功の証”にもなる。スケールアップはパフォーマンスを高め、より多くのユーザーに対応するために行う。
たとえば、メディアミックスブログサービスを提供するtumblrは、ユーザーの自由度が高く、動画などのコンテンツを自由に作成しシェアできる点が魅力のサービスだ。しかし、どのコンテンツの人気が出るのかは予測できない。そこでtumblrでは、コンテンツやブロガーの人気動向に合わせて変化できるよう、プラットフォームを柔軟に設計している。ユーザーに快適なブログサービスを提供できている理由はここにある。
また、ゲーム開発スタジオとして急成長したOMGPOPは、ゲーム「Draw Something」が大ヒットし、2012年にはZyngaに買収された。この急成長を支え、意欲的なユーザーを獲得できたのも、やはり適切なスケールアップが可能だったからと、ジャクソン氏は分析する。