Rod Johnson 氏 来日記念講演に参加

日本 Spring ユーザ会 (JSUG) 主催の講演会です。
http://kokucheese.com/event/index/2737/

Rod 氏の講演を聞くのは始めての機会でしたので、是非とも参加したく、この日に出張日程を組んでしまいました。冒頭、JSUG の長谷川氏より「沖縄からいらっしゃった方もいるので、Rod さん、最後の力を振り絞って講演よろしくお願いします。」という前振りが。はい、それは私のことです。

以下、ポイントと感じた点をメモします。

  • 従来のアプリケーションライフサイクルは、開発と運用の間に「壁」があった。両チームの関係は良いとはいえなかった。開発者は最新の技術を使いたい。運用者は何も変えたくない。しかしクラウド時代には、開発と運用の壁がなくなる。
  • クラウド時代の言語として Java は重要だが、Java は複雑で開発に時間がかかると考えている人も少なくない。しかし Java はすでに知られており、新しく学ぶ必要がない。パフォーマンスは Ruby より優れているし、ファイアウォールの中でもクラウドでも動作させることができるというメリットもある。
  • とはいえ、複雑なコードをかかずにスケーラビリティなシステムを書きにくい。(全世界で)600万人の Java 開発者をどうクラウドに導くか? SpringSource は Lightweight Apps, Virtualized Apps, Virtualized Data によりPrivate & Public Cloud に導く。
  • SpringSource の目標は「Productivity」と「Portability」の両立。
  • ここ数年で開発生産性の要求水準は上がった。RoR は、いいアイデアを提供した。そこで SpringSource ではGrais/Roo を提供する。これによりアプリ開発のスピードを劇的に向上させる。
  • Grails は Groovy 開発者向け。プラグインが300を超えた。
  • Roo は Javaを使いたい人向けに設計した。
  • サーバは tc Server になる。これは Tomcat ベース。パフォーマンス管理も行う。Spring Insight。Trace History, Time Slice, Trace Details を 1 画面に表示。tcServer 上で動作する。これも OSS で提供。リクエストとレスポンスタイムが視覚化。トラッキングすると、SQL 発行まで見る事ができる。ボトルネックを発見しやすい。Tomcat への重要な機能拡張として Spring との親和性と、監視機能が含まれている。複数アプリをグループ化して管理できる。オペレータへの異常検知とアラートもできる。
  • これに Hyperion を組み合わせることで、CPU, メモリ, ディスク状況も監視できる。
  • vmforce は Java から force.com を操作できる。Force.com の Database にアクセスできる。実体は VMware vSphere + vCloud Technology + Spring & Tomcat + 拡張 API(Force.com用)Apex 言語ではなく Java が使える。
  • 企業向けプライベートクラウドが必要なもの:Load Balancer, Configure, Provision Control, Elastic App Runtime, Trace, Monitor, Inventory, In-Memory SQL, Messaging Service, Elastic Data Fabric
  • これらは Policy-based Infrastructore Platform & Resource Pools である。使いたい時に使える。コアになるのが tcServer。監視ツールは Hyperic と Spring Insight。
  • DB 層は(分散キャッシュの)GemFire Enterprise を使う(買収済み)。Distributed Data Fabric 経由で File Systems, Databases, Other Data Systems を操作できる。開発したアプリが tc Server 経由で GemFire レイアにアクセスできる。これによって DB 部分のスケールを実現させる。Session, Object/Data Store, Geo Replication, Partisioning, Active Queries, Notifications...
  • メッセージングは RabbitMQ を使う(買収済み)。Cloud scale message bus 経由で Other clouds, deveice (iPhone, etc.), applications と通信できる。AMOP, SMTP, XMPP, Stomp,... Point-to-point and bu-sub Virtual hosts, dynamic config
  • 開発は STS (SpringSource Tool Suite) を使う。これは Eclipse IDE に統合、無償。Drag-and-drop で開発アプリをクラウドへ。

以下、質疑応答。

Q. vmforce の実行環境はプライベートか、パブリッククラウドか?
A. vmforce はパブリッククラウド。課金は独自方式だが、詳細は詰めているところ。

Q. Oracle による Java 買収の影響は?
A. そんなにない。Java への貢献は OSS が多い。OracleJava をクローズにすることもないだろう。Sun が JavaOSS にしたのは最大の貢献だった。今後は Google による Java へのコミットが重要。

Q. Groovy 言語の将来計画は?
A. 将来性はある。Eclipse 上での Groovy 動作を改善中。Tool による支援が重要だと考えている。Grails にも投資しており、ここ数ヶ月でさらに二人の技術者を投入した。

Q. GAE との統合の話をききたい。
A. 進行中。Spring を動作させるようにすることと、Roo と GWT の統合を進めている。UI は GWT が重要。vmForce は tcServer だが、GAE は Google 独自の Web Server になる。しかし Google とは、さらなる統合の可能性を追求している。

Q. 下位レイヤに Xen の対応予定は?
A. No.(笑)

Q. JEE の方向性をどう考えるか?
A. JEE は過去の互換性から荷物を抱えている状態。JEE を GAE で動かすなどは考えていないのではないか。正直なところ JEE は高速動作、ポータビリティは難しい。JEE の一部は死んでいくだろうが Servlet や JMS は使われつづけていくだろう。

Q. 次の買収先は?やはりデータベース? NoSQL 系?
A. DB系は買収する必要はないと考えている。プライベートクラウドでは会社毎に(DBの)採用ポリシーが決まっていることが多い。新しく DB を開発したとしてもレガシーとの競合がある。よって、つくることもない。

なお、発表スライドは非公開のようですが、興味のある人は JSUG に入るとよいでしょう。

講演の後、JSUG メンバーの懇親会に参加しました。Roo ネタやクラウド、データセンターネタで大いに盛り上がりました。(ブログには書けない情報ばかりです。)会の締めに、長谷川さんが「Spring 勉強会がいつのまにかクラウドを語る場になってしまって...」というのが、現在の Spring の状況を的確に把握されているように感じます。

JSUG 関係者の皆さん、VMWare の皆さん、素晴らしい機会を提供していただき、感謝します。