今年7月のパートナシップの発表に続いて,Azul SystemsとMicrosoft Open Technologiesが,今度はZulu fot Windows AzureのGAバージョンをリリースした。ZuluはWindows Azure Cloud上のWindows Serverで動作するOpen JDKベースのJVMで,クラスパス例外(ClassPath Exception)付きのGPLv2オープンソースライセンスの条件に基づいてライセンスされている。Java SE (Standard Edition) 7仕様を完全に実装し,対応するOpen JDK Community TCK (Technology Compatibility Kit) の65,000に及ぶテスト項目すべてに合格している。
ZuluはAzulが開発,提供しているが,純粋なOpenJDKの実装である。無停止C4 Garbage Collectorなど,同社のZingの技術は使用されていない。"現時点ではOpenJDKそのものです。" 共同創立者でCTOのGil Tene氏が我々に説明してくれた。
機能の追加や改良を行う意思はありますが,Zingとは方法が違います。他のJVMに対するZuluのセールスポイントは,スケールやパフォーマンス,一貫性や数値的な優位性といったものではありません。開発面でのアクセスやデプロイメントの方が重要なのです。ですから今後追加していくものは,管理性やデプロイメントツールとの緊密な統合性といったものになるでしょう – あたかも自分のデスクトップ上にあるかのように,IDEで作業できるようにしたいですね。
それを実現するためにZuluは現在,Microsoft Open TechnologyのWindows Azure Plugin for Eclipseに統合されている。Tene氏の説明によると,AzulとMicrosoftは,ボタンひとつのデプロイ機能に留まらず,ソフトウェアの提供方法にも対処しているという。例えば,JDKの部分などはAzureクラウドの側にすでに用意されていて,PCからクラウドへ毎回プッシュアップする必要はない。
Azulはまた,この取り組みの一環として,OpenJDKコミュニティへのパッチやバグフィックスの提供を行う意思があると語っている。
当面の発表はなさそうだが,Microsoftとのパートナシップは,Javaや.NETといったマネージドワークロードを実行する上で,Windowsをより優れたオペレーションシステムにするという意味において,いくつかの面で興味深い可能性を開いている。AzulはLinuxカーネルコミュニティに対して,カーネルレベルの変更を納得させようとしたことがあった。新たな機能やインターフェースを公開するために,ローダブルLinuxカーネルオブジェクト (LKO) の拡張セットをGPLv2のもとにリリースすることさえ行っている。しかしながらこの方法が,"Linuxカーネルコミュニティからの抵抗が大きく,あまりにも遠回り" であると分かったため,同社はカーネルへの影響を回避して,ローダブルモジュールに注目することにしたのだ。"これによっていくつかの制限が発生しましたが,回避方法を見つけることができました。それでも私は,長期的には,オペレーティングシステムがJavaや.NETに必要なマネージド環境にもっと配慮をするべきだ,と今でも考えています。" とTere氏は述べている。
私たちが望むものを手に入れる上で,他のオペレーティングシステムの方が難しくない,かえって簡単なのかも知れないというのは,興味深いことだと思います。Linuxコミュニティにおいては,実用面や利益面よりも,イデオロギ的な抵抗を克服しなければなりません。それに対して,商業的な権利を持った存在のある他の環境では,現実的な理由を示すことさえできれば,目的を成し遂げることはさほど難しくないかも知れないのです。
Zuluのテクノロジプレビューは間もなく無償でダウンロード公開される。