2010年はシステム開発にかかわるエンジニアにとって混乱の1年になる。その原因は「クラウド・コンピューティング」だ。

クラウドはひとくくりにできない

 2009年は「クラウド・コンピューティングとは」という情報が過熱気味にあふれた。そこで報じられた内容のままに、これからクラウドをとらえようとすると、おそらく混乱する。なぜなら、「クラウド」とひとくくりにできないほど、サービスごとの違いが大きいからだ。ここでは、ミドルウエア層までサービス提供する「PaaS(Platform as a Service)」や、仮想サーバーやストレージなどをサービス提供する「IaaS(Infrastructure as a Service)」に注目する。違いの例を挙げてみよう。

 クラウドを取り上げるとき、「キー・バリュー型」と呼ばれるデータベースを話題にすることが多いが、すべてのクラウド・サービスがキー・バリュー型のサービスを提供しているわけではない。米Googleの「Google App Engine」は提供しているが、米Salesforce.comの「Force.com」は提供していない。

 クラウドの特徴は「スケーラビリティ」と報じられることが多いが、米Microsoftの「SQL Azure」には容量制限(1Gバイト、または、10Gバイト)があり、クラウドに対する一般的なイメージと大きく異なる。

 開発環境もサービスによって大きく変わる。Force.comは企業システムを構築するためのライブラリやテスト環境が豊富に用意されているが、それはForce.com独自のものだ。「Amazon EC2」(米Amazon Web Services)は仮想サーバーの提供サービスであり、OSより上のミドルウエア層は基本的に従来と同じものを利用できる。Microsoftの「Azure」は、既存サーバー・ソフトとの互換性の高さを強調する。

 ざっと説明してもこれだけの違いがある。実はこのあたりは基礎知識といってもよいくらいなのだが、きちんと理解しているITエンジニアはあまり多くないのではないか。全部一緒くたにクラウドとして特性を見極めようとすれば、混乱に陥ること必至である。

要件定義もテストも変わる

 さらなる混乱は、実際の開発の際にやってくる。クラウドを用いたシステム開発と従来のシステム開発は大きく異なるからだ。Google App Engineを例に説明しよう。

 例えば今後は、システム開発の要件定義において、以下のような会話が行われるようになるだろう。

 ユーザー  「新システムには、こんな機能を入れたいな」
 ITエンジニア「実現は難しいと思います」
 ユーザー  「えっ?! いきなりそんな…」

 応答時間などハードウエア・スペックに依存するものならともかく、「こんなことがやりたい」といった機能について、これまで実現の可否を要件定義段階で判断することはなかっただろう。

 Google App Engineはシステム基盤をサービスとして提供する。要件が決まる前にシステム基盤が存在するので、要件はシステム基盤に依存する。実際、Google App Engineはキー・バリュー型のデータベースなので、以前なら可能だった機能要件が実現できないケースがある。何が可能で何が不可能なのか、それらを見極めて要件定義に臨まなければならない。

 変わるのは要件定義だけではない。テストも大きく変わる。

 Google App Engineはシステム基盤をほかのシステムと共有するので、処理性能は一定しないと考えた方がいい。ある時は2秒以内で応答した同じ処理が、別の時は4秒近くかかる。そんなことが起こる環境である。処理性能の確認テストをどのようにして進めればいいのか。少なくとも、これまでと同じ考え方は成立しない。

 設計や開発も変わる。言語やAPIが変わるといったレベルの話ではない。従来では考えられない「制約」があり、それらを回避しつつ、求められる機能を実装しなければならない。

2010年、クラウドは実践段階へ

 「いまの自分の仕事はクラウドと関係ない」と思っているエンジニアがいるとしたら、考えを改めた方がいい。これからの情報システムは「所有」から「利用」へとシフトしていく。すでに先行ユーザー企業の動きはその流れにある。すべてがクラウドに載るわけではないが、大きな選択肢の一つとしてその存在感を増していくのは確実だ。そして2010年、クラウド・コンピューティングは多くの現場において実践段階へと移る。正しい情報を確かな情報源から得て、しっかり身につけてほしい。

 現場のITエンジニアのための実践情報誌『日経SYSTEMS』では、クラウドが引き起こす混乱を乗り切るための情報を発信していく。

 誌面でも大きく取り上げることになるだろうが、手始めは1月から2月にかけて開催する「クラウド・コンピューティング 設計・開発 実践セミナー」に注目してほしい。Google App Engine、Amazon EC2/S3、Force.comの三つのサービスを対象に、それぞれの設計・開発の勘どころを解説する。講師はいずれも、それらのサービス上でシステム構築経験のある実務者である。

 2010年も日経SYSTEMSは現場のITエンジニアを全力で応援します。よろしくお願い申し上げます。

ワンランク上の実力を身につけたいITエンジニアの総合情報誌。毎月26日発行