WebLogic Server 12.2.1 のドメイン・パーティション機能について

*以下は、サポート契約締結中のお客様に毎月配信しているサポートレターより一部抜粋して掲載しています。

前書き:マルチテナント方式について

一般にマルチテナント方式とは、1つのシステムの中に別々のエンドユーザ向けサービスを同居させ、リソースを共同で利用する方式のことをいいます。システムとエンドユーザが1 対 1 となるシングルテナント方式に比べて、一括で運用が行えることによる運用コストの削減やリソースの活用効率の向上が期待できます。

マルチテナント方式は、その特性上多数のユーザがリソースの一部を間借りするクラウドサービスと相性がよく、クラウド環境の利用形態の 1 つとして定着しています。しかし、従来の (バージョン 12.1.3 より以前の) WebLogic Server では、1 つのサービスに対して 1 つのドメイン、マシンを割り当てることが一般的で、マルチテナント方式を実装する場合にドメイン、マシン数が過剰になりやすいという課題を抱えていました。

WebLogic Server 12.2.1 のドメイン・パーティション機能

WebLogic Server 12.2.1 では、上記の課題に対する解決手段として、ドメインの中に複数のパーティションを構成することのできるドメイン・パーティション機能を実装しています。

ドメイン・パーティションはドメイン管理機能およびアプリケーションサーバに実装されたアプリケーション実行用プログラム群(ランタイム)の部分集合と見なせます。各パーティションはターゲットとなるアプリケーション / リソースをドメイン内から選別して指定し、特定エンドユーザ向けのサービスだけを切り出すことができます。

また、各パーティションにはパーティションを制御する権限を持つパーティション管理者やセキュリティ・レルムも個別に指定でき、パーティション単位での個別のセキュリティ設定を可能としています。

具体的には、ドメインから以下のようにパーティションを切り出すイメージとなります。

ドメイン Dom01
  • アプリケーション : a1, a2, a3, a4
  • リソース : 管理対象サーバ s1, s2, s3, s4, s5 とクラスタ c1, c2
  • セキュリティ・レルム : r1, r2, r3, r4
パーティション Part1 (エンドユーザ A 向け)
  • アプリケーション : a1, a2
  • リソース : クラスタ c1
  • セキュリティ・レルム : r1, r3, r4
パーティション Part2 (エンドユーザ B 向け)
  • アプリケーション : a2, a3, a4
  • リソース : クラスタ c1, c2
  • セキュリティ・レルム : r2, r4
パーティション Part2 (エンドユーザ C 向け)
  • アプリケーション : a2
  • リソース : 管理対象サーバ s1, s2
  • セキュリティ・レルム : r2

上記のようにパーティション同士には重複部分があってもよく、たとえば同一の管理対象サーバを複数のパーティションがターゲットにしている場合でも、個々のパーティションで独立して起動・停止の操作を独立して行えます。

従来のバージョンではドメイン - クラスタ - サーバという階層があり、ドメイン全体で1 つの管理サーバとセキュリティ・レルムを共有するアーキテクチャとなっていました。ドメイン・パーティションはこの階層構造を保ったまま、一部をスライスして自由に切り出せるものになります。

WebLogic Server 12.2.1 ではテナント毎にドメイン・パーティションを切ることで、1つのドメイン、マシン上で複数のサービスを運用することが容易となり、従来のバージョンでの課題であったマルチテナント環境においてドメイン、マシン数が過剰となりやすい問題に対処できるようになりました。

ドメイン・パーティションの利点とユースケース

ドメイン・パーティションの利点はマルチテナント方式におけるドメイン、マシン数の抑制だけではありません。前章にて触れておりますドメインの集約も含め、主な利点としては、以下の 3 点が挙げられます。

  • 集約性 : 複数のサービス、システムを 1 システムに集約できること
  • 分離性 : 集約されたサービス、システムの運用・管理がそれぞれ独立して行えること
  • 可搬性 : アプリケーションや環境設定を他環境に容易に移行できること

(1) PaaS 型アプリケーションでの利用

集約性を活かすケースとしては、PaaS 型アプリケーションでの利用が考えられます。たとえば複数のサービス・アプリケーションが異なるサーバマシンで運用されている環境において、これらを 1 つの Weblogic ドメインに集約するといったケースです。複数環境で別々に運用していたサービスを集約することにより、運用コストの削減のほか、リソースの活用効率も向上できます。

(2) SaaS 型アプリケーションでの利用

分離性を活かすケースとしては、SaaS 型アプリケーションでの利用が考えられます。たとえばドメインにベースとなるアプリケーションを配置しておき、エンドユーザ毎のカスタマイズをパーティション毎に実装するといったケースです。テナント間で共通の構成についてはテンプレートとして設定しておくことで、リソースやセキュリティについては各テナントの独立性を保ちつつ、容易に新規テナントの追加や、基幹部分の仕様変更に対する対処が行えます。

(3) 縮小版 EJB コンテナとしての利用

可搬性を活かすケースとしては、同一環境を複数利用する状況での活用が考えられます。たとえばアプリケーションの開発工程などで、複数の類似環境(ex. 開発環境 / テスト環境)をパーティション単位で区切り、「縮小版の」EJB コンテナとして切り出し使用する、といったケースが考えられます。 環境構成をパーティションとしてカプセル化することで、環境の移行をパーティションのインポート / エクスポートのみで実現でき、複数環境間のデータ移行に要するコストと時間の削減が期待されます。

対応エディション・ライセンスについて

ドメイン・パーティション機能は WebLogic Server Enterprise Edition または Suite に付随する有償オプションライセンス "Oracle WebLogic Server Multitenant" に含まれる機能となっております。Standard Edition では使用できませんので、ご留意ください。

なお、シングルテナント(単一パーティション)を作成する場合には、通常の WebLogic Server Enterprise Edition / Suite ライセンスのみでご使用頂けます。

まとめ

ドメイン・パーティション機能はマルチテナント環境をより容易に実現するため、WebLogicServer 12.2.1 にて提供された新機能となります。 複数のアプリケーション環境の集約や、クラウド・サービスの提供に適した機能となっておりますので、これらの要件を含むシステムにおいては、是非採用をご検討ください。

参考

(オラクル事業部 サポートセンター 平林)

WebLogic Server 12.2.1 のドメイン・パーティション機能について