Dockerに対応しつつ、独自のコンテナ技術をJavaとRDBで展開するオラクル

2016年2月18日

Dockerの登場によってコンテナ型仮想化は一気に注目の的となりました。主要なLinuxでのサポートに加え、マイクロソフトはDockerと提携してWindowsでDockerのサポートを表明。VMwareも仮想環境のDocker対応を積極的にすすめており、AWSやGoogle Cloud Platform、OpenStackなど主要クラウドやクラウド基盤もDockerサポートをすすめています。

Dockerコンテナが注目されている理由は主に、その軽量さがもたらす2つのメリットからです。

1つは迅速な起動です。Dockerコンテナでは起動済みのOSの上で展開するため、メモリなどの利用効率が高く、迅速にアプリケーションが起動します。

もう1つはDockerコンテナを簡単にパッケージできる点です。軽量なおかげでコンパクトにパッケージでき、保存や移動が簡単です。

こうしてDockerがコンテナ型仮想化の主役として台頭し、多くのベンダがそれを自社製品で採用する中、独自のコンテナ技術を展開するベンダがあります。オラクルです。

オラクルが展開するデータベースとJavaのコンテナ機能

オラクルはコンテナ型仮想化が注目される以前の2012年10月、コンテナデータベース機能を組み込んだ「Oracle Database 12c」を発表します

fig

コンテナデータベースでは複数のプラガブルデータベースが利用可能。プラガブルデータベースは安全に分離されているため、別々のインスタンスで分離運用するよりもコンテナデータベース上で分離した方がメモリやプロセッサの利用効率が高く、集約率は5倍にもなると説明されました。

またプラガブルデータベースは別のコンテナデータベースへも移動できるため、テスト環境として用意したコンテナデータベースから本番環境へ移動するといった運用も可能。

さらにオラクルは、Java EEに対応したWebLogic Serverにもコンテナ機能を[搭載をすると2015年10月に発表)。昨日、その「WebLogic Server 12c R2」が日本でも出荷開始となりました

fig

WebLogic Server 12c R2では、JavaVMをパーティションで安全に分離したマイクロコンテナを提供。仮想マシンを用いて別々のWebLogic Serverで分離するよりも、マイクロコンテナを利用して分離する方がメモリやプロセッサの利用効率が高く、3倍の集約率だと説明されています。

マイクロコンテナは軽量で、中身のJavaアプリケーションはZip圧縮されて簡単に別のWebLogic Server上のマイクロコンテナへ移動可能です。

軽量なコンテナのメリットをミドルウェア上に実装

Oracle Database 12cとWebLogic Server 12c R2のコンテナ機能はいずれも軽量で取り扱いや移動が容易という一般的コンテナの特長を備えています。

そのうえでDockerでは現時点で実現されていない利点も提供します。1つはコンテナ間の安全な分離です。Oracle Databaseのプラガブルデータベース、WebLogic Serverのマイクロコンテナは安全に分離されており、マルチテナントを実現できます。

これはDockerとは異なり、Oracle DatabaseやWebLogicではその中身が明示的にデータベースのプロセスやJavaのコードであることが分かっているため、実行系となるミドルウェア層でメモリやプロセッサのリソースをきっちり管理しやすいためだと考えられます。

もう1つはライブマイグレーション機能で、WebLogic Serverでは稼働中のマイクロコンテナを別のWebLogic Serverクラスタにライブマイグレーションできます。これも実行中のアプリケーションの状態をミドルウェアできっちり管理でき、運用管理ツールとも密接に連携しているおかげで実現できるのでしょう。

オラクルはこのようにコンテナの利点をうまく自社のミドルウェア製品に取り込んで、エンタープライズ市場向けにアピールする機能として実装しているように見えます。この機能の評判が良好であれば、今後他社のデータベースやWebアプリケーションサーバといったミドルウェアでも、似たような実装が登場するかもしれません。

オラクルは独自のコンテナ技術だけでなく、Docker対応も行っています。WebLogic Serer 12c R2はDockerに対応。Dockerコンテナ上でWebLogic Serverを実行し、Dockerイメージとしてポータブルに扱うこともできます。サーバ仮想化、DockerによるOS上のコンテナ、そしてミドルウェア上のマイクロコンテナと、さまざまなレベルでの仮想化技術が利用できるようになるわけです。

あわせて読みたい

Docker Java コンテナ型仮想化 Oracle




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本