インフラが先にあるということ
今日は最近のインフラのトレンドに関して気づいたことについて書きたいと思います。企業の外にインフラを置くパブリック・クラウド、そしてやっぱり企業内におくプライベート・クラウド。新しいインフラと言えば、これらが最近のホットトピックではあります。
しかしこれらのトレンドに並行して、最近ハードウェアとソフトウェアを事前に組み合わせたアプライアンスも各社からいろいろ出てきているように思えます。3teraなんかはプライベートクラウドのアプライアンスと呼べそうですし、IBMのCloudBurstもその手のものでしょう。またデータベースとハードウェアの組み合わせでは、OracleのExadataが最近有名かもしれません。またアプリケーションの分野でも、手前味噌ですがIBM Smart Analytics Systemとか。
これはちょうどパブリック・クラウドのIaaS/PaaS/SaaSのようなレイヤーと同じように、ハードに近いプライベート・クラウドのアプライアンスから、ミドルウェア、そしてアプリケーションと上位レイヤーがそろい始めているとも見えるでしょう。
プライベート・クラウドは過去のシステムの、サーバーの統合化、標準化の延長線上でも設計、構築していけるかもしれませんが、その構築を外部からの調達で一気にするとなると、こういったアプライアンスは有効かもしれません。プライベートの各種アプライアンス、パブリックのIaaS/PaaS/SaaSは、ちょうど企業内か企業外かの対称的のようなものにも見えます。
で、ここでこれらのトレンドの共通点は何かといえば、アプリケーションを設計、構築する以前に単独でも動いているということではないかなと思いました。今まで内製でシステムをつくるときは、アプリケーションの設計、構築と同時に、インフラも設計、構築。それが事前にできあがった形で提供されるのが、クラウドとアプライアンスといったインフラの新しいトレンドの共通点と言えるように思えます。
これによって、アプリケーションは自分の都合でインフラの設計を変えることはかなり制約を受けることとなります。特に、インフラのアーキテクチャーや、可用性やパフォーマンスといったような非機能要件は、インフラの制約の中で決まってしまいます。あとはアプリケーションで工夫をしていくしかないでしょう。最近、Google App Engineで企業アプリケーションをつくるには彼らのRDBでないBigTableの上に、どうやって企業データを格納して使うか、という議論があるのはまさにこのポイントでしょう。
そういえば20年以上前のメインフレーム時代を振り返ると、同じようにインフラは、多くの場合、あるアプリケーションの開発以前から他のアプリケーションのために存在していて運用されていました。アプリケーションの都合でインフラを変えることは、同じインフラに同居しているアプリケーションがありますから、かなりの制約をともなったわけです。
歴史は繰り返す。アプリケーションよりインフラの設計が優先という傾向でしょうか。とはいえ、こんど迎えたインフラ設計の優先の時代は、さまざまなクラウド、さまざまなアプライアンスといった多様性のある、おもしろい時代と言えるかもしれません。もちろんアプリケーションの要件が極めてきびしいものに関しては、今までどおりアプリケーションとともにインフラを造り上げるやり方、内製が残りそうではありますが。