PayaraとHazelcastが協同で日本オフィスを開設。垣間見えたJavaEEの将来

2018年2月28日(水)
松下 康之 - Yasuyuki Matsushita
JavaアプリケーションサーバーのPayaraと分散キャッシュのHazelcastが協同で日本オフィスを開設した。

オープンソースのJavaEEアプリケーションサーバーを開発するPayaraと、そのPayaraに多くのコンポーネントを提供するHazelcastが、日本市場に向けてサテライトオフィスを開設した。日本のJavaEEアプリケーション開発者に向けて、サポートを始めるとアナウンスした。なおサテライトオフィスの開設はPayaraに日本人社員が雇用されたことを意味しており、日本支社の開設ではないということである。

2018年1月30日に中野サンプラザの貸会議室で行われたイベントは、参加者60名程度の小規模なもので、イベントの前半に登壇したPayaraのスティーブ・ミルリッジ氏による解説、HazelcastのCEO/CTOグレッグ・ラック氏によるHazelcastの概要の説明が行われた。その後、Payaraのエンジニアである蓮沼賢志氏によるPayara Server 5 Betaの解説とデモが実施された。これはPayaraアプリケーションサーバーが簡単にデプロイ/管理されることを訴えるもので、JavaEEのデベロッパーにとっては嬉しい内容だったように思われる。

それぞれの製品を簡単に紹介すると、PayaraはJavaEE準拠のアプリケーションサーバーでGlassFishからフォークした製品となり、Payaraが製品サポートを有償で提供する。Hazelcastはノードをまたがる分散インメモリーデータグリッドとしてHazelcast IMDG(in-memory data grid)とIMDGを汎用のデータプロセッシング用に組み込んだHazelcast Jetの2つを製品化している。どちらも100%オープンソースソフトウェアであることが、訴求ポイントのひとつだ。Payaraのアプリケーションサーバーの中にHazelcastの製品がOEMとして組み込まれているということで2社の関係は深く、共同で日本のユーザーをサポートすることが可能になるというのがサテライトオフィス開設の背景だ。

Hazelcastは主に金融業界で多く利用が進んでいるという。そしてJavaだけではなくNode.jsやC#/.NET、Scala、Pythonなどの言語からも利用可能であるという。

Payaraのスティーブ・ミリッジ氏

Payaraのスティーブ・ミリッジ氏

Payaraのミリッジ氏は、Payara ServerはSunが開発したJavaのアプリケーションサーバーから由来するソフトウェアで、オラクルが商用化したGlassFishの代替としてPayara Serverが評価されていることを解説。これは、GlassFishからの乗り換えを推進するのが目的だ。またオープンソースであるPayaraのコミュニティも安定していると説明。以下のスライドでOracleが一番隅に置かれている辺りに、Javaコミュニティの気分が表れているような気がしたのは邪推だろうか。

IBM、富士通、Red Hatなどが顔を並べるPayaraのコミュニティ

IBM、富士通、Red Hatなどが顔を並べるPayaraのコミュニティ

Eclipse Foundationに寄贈されたJavaEEは、「EE4J」というプロジェクト名でこれからも開発が続くというが、時代の流れはモノリシックなアプリケーションからマイクロサービスに向かっているのはすでにIT業界の常識だ。その中でJavaEEが向かう先として、Eclipse MicroProfileに対応するというのがJavaコミュニティの回答なのだろう。ミリッジ氏は、マイクロサービスに対応する機能を追加するために、OpenTracingやモニタリングのPrometheus、そしてFault ToleranceのためにNetflixが開発したHystrixなどが含まれると解説した。これらのプロジェクトは、KubeConでも注目されていたソフトウェアである。

Eclipse MicroProfileの将来構想

Eclipse MicroProfileの将来構想

つまりJavaのコミュニティに対して、マイクロサービスへの対応も進んでいるということを訴求したかったのだろう。他のオープンソースプロジェクトのソフトウェアがモジュールとして採用されている辺りに、最近のマイクロサービスへの関心の高さが伺える。

次に登壇したのはPayaraのエンジニア、蓮沼賢志氏だ。蓮沼氏はGlassFishユーザー会でも活躍しているJavaエンジニアで、Payaraに参加した最初の日本人エンジニアだという。

日本語化されたPayara Server 5 Betaのコンソール

日本語化されたPayara Server 5 Betaのコンソール

デモとして日本語化されたコンソールを使い、Azure上で複数のPayara Serverをひとつのデータグリッドとして使う際の構成の容易さを見せた。

しかし今回のハイライトはイベントの後半、日本マイクロソフトのJavaエバンジェリストである寺田佳央氏によるIstioとKubernetesのデモ、そしてJavaEEがオープンソース化された以降のJavaEEの今後についての、Azul Systemsのサイモン・リッター氏のトークだろう。

マイクロソフトの寺田氏

マイクロソフトの寺田氏

寺田氏は、これまでのモノリシックなアプリケーションからマイクロサービスに流れが向かう中で「サービスメッシュ」というコンセプトが出てきた背景を解説。特に複数の小さなプロセスが通信をすることで大きな機能を実装する際に「リトライ」や「ロードバランサー」などの機能をアプリケーション側で実装しなければいけないとすれば、書かれている言語に依存したライブラリーをそれぞれ準備することが必要となる。寺田氏はその複雑さを強調し、これを言語に依存せずに行うための仕組みがサービスメッシュであり、その筆頭が今注目されているIstioであると解説した。寺田氏のデモは、Kubernetes上に置かれたJavaのアプリケーションがIstioによって管理される部分を解説するためのものだ。

クラウドネイティブに必要な機能要件

クラウドネイティブに必要な機能要件

ライブラリーで実装するためには多くのモジュールが必要

ライブラリーで実装するためには多くのモジュールが必要

寺田氏は複数の例を使って、ブルーグリーンデプロイメントやカナリーデプロイメント、HTTPのヘッダーに特別なフラッグを付けることで利用するマイクロサービスを分けるデモを実施した。このような設定を行うためには、Kubernetes単体では非常に面倒な設定が必要となるが、Istioを使うことでyamファイルへのシンプルな記述で可能になることを見せた。

IstioによるFeature Flagのデモ

IstioによるFeature Flagのデモ

寺田氏のデモはWebデベロッパーでなくても理解がしやすいもので、マイクロサービス化されたアプリケーションに必要な機能をアプリケーションのコード側ではなく、IstioがサイドカーとしてデプロイされるProxyであるEnvoyと、コントロールプレーンであるMixerが連携することで実行される。またPod間のトレーシングをJeager、モニタリングをPrometheus、可視化はGrafanaというオープンソースソフトウェアを利用してデモを実施した。「このデモを作るために朝の3時までがんばりました」と言うアプリケーションは、フロントエンドをPCのマイクロフォンが拾った自然言語を機械翻訳してkubectlにコマンドとして引き渡すというもので、偶然にもGoogleのデモゴッド、Kelsey Hightower氏がやったデモに酷似したものであった。

寺田氏のデモの構成図

寺田氏のデモの構成図

ここで思い起こすべきなのは、JavaEEの向かうマイクロサービス化の将来構想として「MicroProfileによる機能実装」をミリッジ氏が解説したことだ。つまりJavaにおいてはMicroProfileに準拠した実装がこれから行われるという時に、Istioにおいてはすでにそれが実現されていることが何を意味するのか。Javaデベロッパーは「Write Once Run Anywhere」というマントラに固執することなく、ポリグロットな開発環境に移行を検討し、それぞれの言語の特性を活かした使い分けが求められていることを認識するべきだろう。マイクロサービスへの移行は、その良いきっかけになると思われる。

最後のセッションはAzul Systemsのサイモン・リッター氏が登壇し、2017年のJavaOneで紹介されたJavaのサポートに関して解説を行った(ソフトウェアに関するセッションで、ソフトウェアのサポートの詳細について解説することがひとつのコンテンツとして成り立つこと自体が異常であろう)。

Sunで生まれた後、Oracleという企業の配下になったJavaというテクノロジーは、最終的にオープンソースソフトウェアとして生きる道を見つけたことになるが、これまで数年単位でメジャーバージョンアップを行ってきたJavaが、他のオープンソースソフトウェアに倣って6ヶ月ケーデンスでリリースを行うというのは大きな変化だ。しかもサポートは常に最新のLTSのみ、つまり脆弱性などのFixを取り込もうとすれば、常に最新のJavaを使うことが必要になる。これはエンタープライズにとっては大きな変化であり、チャレンジとなるだろう。

新しいOpenJDKのリリースプロセス

新しいOpenJDKのリリースプロセス

このセッションを担当したAzul Systemsは、Oracleを上回る手厚いサポートを提供することで利益を出す企業で、セッションの後半は自社サービスの宣伝となった。

Azul Systemsが提供するMTS(Medium Term Support)

Azul Systemsが提供するMTS(Medium Term Support)

日本法人を作ることでエンタープライズに食い込みたいというPayaraとHazelcastの狙いは、イベント全体を通して感じられた。その一方で、JavaEE、もしくはEE4Jがこれからマイクロサービスに向かうためには、まだまだ時間がかかると思われる。コミュニティの活性化が必須だが、その間にKubernetesとIstioがあっという間にデファクトスタンダードの地位を確立してしまうだろう。Javaデベロッパーは、今のうちにKubernetesとIstio、Prometheus、Jeagerを勉強することをお勧めしたい。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

業務アプリイベント

Money 20/20開催。Wells Fargoの謝罪から学ぶ重要課題は信用という話

2018/12/14
金融業界のカンファレンスMoney 20/20にて、自社のトラブルを引き合いに信用が大切ということを示す異例のキーノートが行われた。
業務アプリ

Money 20/20開催「カンバセーショナルAI」が研究から応用へ

2018/12/13
金融業界の最大のカンファレンスMoney 20/20が、ラスベガスで開催された。銀行の未来からクリプトカレンシー、サイバーセキュリティ、人工知能まで多彩なセッションが開催された。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています