オープンソースのクラウド対応Webサーバ「Resin」と、JavaVM上のPHP実装「Quercus」を開発したCaucho Technologyに聞いた
オープンソースで開発されている「Resin」は、セールスフォース・ドットコムのクラウドにも採用されているJavaベースのWebアプリケーションサーバです。国内での知名度はあまり高くありませんが、NTTデータイントラマートが販売する業務アプリケーション向けWebシステム構築基盤の「intra-mart WebPlatform」にも採用されています。
Resinの開発元は米国のCaucho Technology。同社はResin上で動作するJavaVMによるPHP実装の「Quercus」の開発も行っています。
同社のCEOであるSteve Montal氏とシニアエンジニアのAlex Rojkov氏が来日したので、同社について、そして最新のResin 4.0について話を聞きました。
──── Resinや、それを開発したCaucho Technologyという会社は日本ではあまり知られていないように思います。どんな会社なのでしょうか?
Montal氏 私どもは1998年に創立した会社です。ベンチャーキャピタルからの投資に頼ることなく、製品の成功による売り上げだけでオーガニックに成長してきました。私たちはマーケティングはあまり行わない、テクノロジー指向の企業です。
私たちの製品「Resin 4.0」はエンタープライズ向けの、軽量で高性能なJavaベースのWebアプリケーションサーバです。Java EE 6のWeb Profileに対応し、オラクルによるJava認定を受けています。セールスフォース・ドットコムのクラウドにも採用され、使われています。
Resinは100%私たちが開発しているソフトウェアで、社外のフレームワークなどは一切用いていません。大規模なクラウド上でも管理しやすい強力なレポート機能を備えています。トラブルが発生したときの状況などを、顧客にそのまま提出できるようなPDFのレポートを出力することもできます。
製品サポートもすべて私たちが行っています。サポートに電話すれば、それはフィリピンなどのサポートセンターにつながるのではなく、ここにいるAlexが問題を解決します。
Alex氏 Resinは軽量でオープンソースとして開発されたJava EEサーバです。全体でも24MBの大きさしかなく非常にコンパクトです。主な特徴は、Java EE 6のWeb Profileに対応していること、クラウドのサポート、Java上のPHPであるQuercusを備えていること、WebSocketに対応していることなどです。アプリケーションのバージョン管理はGitベースで行えます。
Resinの目的は、シンプルでライトウェイトなソリューションを1ストップで提供することです。
──── クラウド対応の機能について教えてください。
Alex氏 Resinでは「Triad」アーキテクチャのクラスタを採用しています。このアーキテクチャでは、3つのResinサーバがセットになり、お互いにフェイルオーバーすることで可用性を高めています。この3つをコアにしたクラスタでダイナミックにResinサーバを増減することで負荷に対応します。
クラスタは、ロードバランス用とアプリケーション用の2つが存在します。外部からのリクエストはまずロードバランス用のクラスタで受け、そこから独自プロトコルを通じてアプリケーション用のクラスタにリクエストが送られるようになっています。
Resinにはソフトウェアのロードバランサ機能が備わっており、ResinクラスタのみでWebサーバ層からアプリケーション層までを構築できます。ハードウェアのロードバランサなどを購入する必要はありません。これが非常にシンプルな運用を実現しているのです。
Montal氏 現実にはロードバランス層の負荷は大きくないため、少ない台数で済むことがほとんどです。
この機能を実現したことが製品の大きなコーナーストーンとなりました。小規模から大規模なWebサイトまで非常に少ない手間でデプロイメントできるようになったのです。
Alex氏 モニタリング機能も強力です。つねにタイマベースのエージェントとしてWatchdogが動作しており、動作内容を独自のデータベースに保存しています。なにかスパイクが起きたとき、ノーマルでない状況と判断したとき、障害が発生したときなどに自動でレポートを生成させ、何が起きたのかをあとから管理者が容易に把握できるようになっています。
──── Resinはなぜオープンソースとして開発されているのですか?
Montal氏 それが私どもの会社のカルチャーだからです。もちろん、最近では多くの企業がオープンソースを採用しようとしていることも理由の1つですが。
──── ありがとうございました。
参考記事
セールスフォース・ドットコムは創業当初から基盤のデータベースにOracle RACを採用してきましたが、サーバのハードウェアはデルを、ミドルウェアはResin Java Application Serverを採用しています。
内部で利用しているソフトウェアは、メインのデータベースとしてOracle RAC(Real Application Clusters)を利用しており、アプリケーションサーバとしてはオープンソースのResinを、サーチエンジンとしてLuceneを、OSとしてはLinuxであるRed Hatを採用しています。