Exalogic Elastic Cloud がクラウドプラットフォームとして採用されるための2つの条件 - ブロガーイベント @ オラクル (2)
日々の仕事に追われてしまって、更新が遅くなってしまいました。Oracle Exalogic Elastic Cloud (OEEC) は、ハードウェアとソフトウェア (ミドルウェア) が一体化されて提供されていることがユニークです。しかし、製品名のようにクラウドプラットフォームとして採用されるために、気になる点がいくつかあったので整理しておきたいと思います。
Java のみとはもったいないプラットフォーム
IaaS / PaaS / SaaS というクラウドサービスとしてみた場合、OEEC は PaaS のベースになります。InfiniBand による高速ネットワークや大量の SSD といったハードウェア、ハードウェアを活かすために最適化されたソフトウェアは、魅力的にみえます。しかし、対応している言語が Java のみというのは、もったいないです。
カタログにあるように「ミッションクリティカルなプライベート・クラウド」には使えると思いますが、それらを必要とする業種やアプリケーションが限定的になってしまいます。イベントでも金融や通信といった業種を主なターゲットとされていましたが、それらの企業でも Java 以外の言語を利用したウェブアプリケーションがあるはずです。そういったアプリケーションも一緒にホスティングできるといいのにと思いました。
以前、ミッションクリティカルなウェブアプリと異なり、通常のウェブアプリのプラットフォームとして PHP や MySQL があると伺った記憶があります。現時点では、高速 Linux サーバーとして利用できるとは想像しますが、前述のようにハードウェアを活かしたものではありません。
ぜひとも PHP や MySQL にも対応してもらいたいと願っています。
一体化されたメリットを活かすためにも教育が不可欠
シックス・アパートでも Movable Type EZ というサービスを提供していて痛感していますが、トラフィックに代表される変化に強い環境を構築していくには、いままでとは違った技術を習得して活用する必要があると思っています。
Movable Type では再構築処理を分散する仕組みとして、TheSchwartz というジョブキューイングシステムに対応しています。画面 (ブラウザ) に出力する必要のない処理 (Movable Type では再構築処理) をキューに登録し、別のプロセスで処理することによって負荷の分散や画面レスポンスの向上をはかるわけです。Windows Azure でいえば Worker ロールがこれにあたりますね。すなわち、従来の3層構造のウェブアプリの仕組みをそのまま適用するのではなく、ジョブキューイングの技術を組み込んでいくことで、変化に強い環境を構築していくことができるわけです。
OEEC にもこういったキューイングの仕組みがあるとは思うのですが、それらを活かしたアプリを開発するためにも教育が必要なのではないかと思っています。個々の製品に関する教育コースはあっても、総合的なものが見当たりませんでした。OEEC のパフォーマンスを活かすためのアプリの開発を解説する教育コースは不可欠だと思います。