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 にて提供された新機能となります。 複数のアプリケーション環境の集約や、クラウド・サービスの提供に適した機能となっておりますので、これらの要件を含むシステムにおいては、是非採用をご検討ください。
参考
-
『Oracle Fusion Middleware Oracle WebLogic Server 12.2.1の新機能 12c (12.2.1)』
2. Oracle WebLogic Server 12.2.1の新機能
http://docs.oracle.com/cd/E72987_01/wls/NOTES/whatsnew.htm#A1011709842 -
『Oracle Fusion Middleware WebLogic Server MTの使用 12c (12.2.1)』
http://docs.oracle.com/cd/E72987_01/wls/WLSMT/toc.htm
(オラクル事業部 サポートセンター 平林)