PR:落ちないアプリケーションサーバはどうなっているのか? その核心を聞いてみた
クラウドが登場したことで、業務アプリケーション基盤としての「アプリケーションサーバ」に対する見直しも増えています。特にクラウドを提供する側で、より高いスケーラビリティ、安定性や堅牢さ、迅速な開発やデプロイへの対応がこれまで以上に求められるようになってきています。
日本オラクルの製品「WebLogic Server」は、10年以上前に登場した当初からミッションクリティカルな分野を得意とするアプリケーションサーバです。
このWebLogic Serverの現状とクラウド時代に向けた進化の方向性について、製品を担当するオラクルのお二人にインタビューした記事「より堅牢に、そして高速に――これからの企業/ビジネスを支えるアプリケーション・サーバの要件 【前編】」が、先ごろ開設されたWebサイト「WebLogic Channel」で公開されています。
ここではそのエッセンスをまとめて紹介しましょう。
Javaによるミッションクリティカルをなぜ実現できたのか?
1990年代半ばに登場したJavaですが、業務アプリケーションの開発に使えるのかどうかという試行錯誤がしばらく続いていました。日本国内でそれに決着をつけたのが、2000年に発表された国内大手銀行による基幹業務処理へのJavaの採用です。
その後、証券、電子商取引、運輸、食品など各業界の大手企業が続々とJavaを採用し、ミッションクリティカルな分野でのオープンシステムとJ2EEの地位が確立されていきます。
≫ なぜJavaによるミッションクリティカルな業務に対応する可用性、安定性を実現できたのでしょうか? (詳細はリンク先記事にて)
本番環境でいかに安定した稼働ができるか
高い可用性の実現のためには、計画外停止の最小化はもとより、計画停止の時間の最小化も求められます。例えばJavaEEアプリケーションを更新する際は一般に計画停止を伴いますが、これも高い可用性の実現に対する制約となるだけでなく、運用管理の期間とコストを押し上げる要因となっています
FacebookやTwitterでは、新機能をローンチするときにコードを「ダークモード」と呼ばれる、機能オフのままデプロイし、本番環境で徐々に機能をオンにしていく仕組みが備わっています。実はWebLogic Serverにもこのような、サービスを止めずに新機能をデプロイする機能が備わっています。
≫ コンシューマでもエンタープライズでも、安定した稼働を実現するうえで必要な要件は同じものになっていくようです(詳細はリンク先記事にて)
障害発生時の切り分け機能
障害の中でも特に解決が難しいのが、メモリリークや例外エラーなどのバグです。再現環境を構築し、長時間かけて再現させてようやく原因が分かるかどうか、という手間のかかる工程を経なければ解決が難しい種類のバグでした。
あるいはプログラムの問題点を把握するためにプロファイラを仕掛けて動作をトレースすることもできますが、一般にプロファイラはプログラムの動作に与える負荷が高く、本番環境では使えないため、本番環境で起きる障害には使えないという欠点があります。
≫ こうした課題を解決し、本番環境で稼働するアプリケーションの動作解析に使えるのが「JRockit Flight Recorder」です。(詳細はリンク先記事にて)
Java EE 6はフレームワークの決定版になる
さらに今後登場予定のJava EE 6では、軽く、単体テストもやりやすいPOJO(Plain Old Java Object)ベースになるなど開発生産性が向上しています。Java EE 6については来週公開予定のインタビューの後半で聞いていますので、そちらもお楽しみに。
≫「より堅牢に、そして高速に――これからの企業/ビジネスを支えるアプリケーション・サーバの要件」を読む。
■お知らせ
イベント「WebLogic & Java EE活用セミナー ~ Java EE最新技術とOracle WebLogicで拓くシステム開発の最適解 ~」が9月6日火曜日に日本オラクル株式会社 本社13Fセミナールームで開催されます。
エンタープライズJavaの最新標準となるJavaEE 6の特長や、Oracle WebLogic Server 11gの最新機能などを紹介します。最後に実施されるキーパーソン座談会には、新野もパネリストの1人として参加する予定です。ぜひふるってご参加ください。
あわせて読みたい
Amazonクラウド、Memcached互換のキャッシュサービスを開始。1テラバイトのキャッシュも数分で利用開始
≪前の記事
この1年の優れたIT系書籍はどれか?「Jolt Awards 2011」が6冊を発表。