Oracle BRM 12 は、市場で最も優れた企業向け課金・収益管理システムの1つであり、他の企業が満たそうと努力する基準を設定しています。BRMの歴史は(前身のInfranetやPortalとともに)数年、数十年に及びます。2006年にOracleがPortal Softwareを買収した後も、定期的に新機能を導入する新しいサービス・パックや新しいソフトウェア・バージョンの開発が続けられました。
最近 Oracle BRM 12 Oracle BRM Cloud-Native Deploymentのリリースにより、BRMは全く新しい章に入り、新たなエキサイティングな大きなマイルストーンに到達しました。このリリースにより、BRMはKubernetesクラウド環境にネイティブにデプロイできるようになり、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)ソリューションでBRMを使用する新しい方法が開かれました。クラウドへのデプロイは、スケーラビリティや信頼性など、従来のソフトウェアデプロイメントモデルにはないメリットをもたらします。新しいクラウドシステムにデプロイした場合、ハードウェアの追加に大きな設備投資をする心配がなく、必要に応じてハードウェアリソースをオンデマンドでBRMに追加することができます。デプロイメントを動的に拡張し、特定のBRMサービスのために他のノードやレプリカを追加したり、不要になったら削除したりできます。Kubernetesが実行中のポッドを管理し、すべてのサービスが稼働していることを確認するため、オンプレミスのソフトウェアデプロイメントと比較して、クラウドデプロイメントの稼働時間は平均を上回ります。

公式にはOracleクラウドはOracle BRMクラウドネイティブのデプロイでサポートされていますが、BRMを他のクラウド環境にデプロイすることも可能です。この記事では、Oracle BRMをOracleクラウドにデプロイする方法を見ていきます。
目次
Oracleクラウドについて
Oracle株式会社は、マネージドデータセンターのグローバルネットワークを通じて、サービス、ストレージ、サーバーなどを提供するクラウドコンピューティングサービス(Oracleクラウド)を提供しています。クラウド環境を構築する際に、どのマネージド・データセンターを利用するかを選択することができます。通常、地理的に近いところを選びたいものです。Oracleクラウドのいくつかの基本的な機能(自律型データベースや仮想マシンのいくつかの必須インスタンス-制限付き)は、Oracleクラウドの無料ティア("常時無料対象 "という名前)にあり、期間無制限で無料で利用できます。また、30日間の無料トライアルを利用し、Oracleクラウドが提供するより高度な機能や可能性を試すことができます。アカウントはいつでも有料版にアップグレードできます。Oracleクラウドは、便利なコスト見積もり計算機を提供しています。ここでは、使用したいインフラストラクチャとサービスを設定することができ、計算機は選択したセットアップのコスト見積もりを返します。
それでは、OracleクラウドでOracle BRMネイティブクラウドデプロイメントを無料でテストする方法を見てみましょう。
テスト目的でOracle BRM 12をOracleクラウドに展開
まず、Oracle Software Delivery CloudからBRMソフトウェアの正しいバージョンを入手する必要があります。Oracle Communications Billing and Revenue Management Cloud-Native Deployment Option "を検索し、利用可能な最新バージョンを入手してください。その後、Oracleクラウドを使用するためにサインアップする必要があります。サインアップしてアカウントを設定すると、写真1のようなOracle Cloudのダッシュボード画面が表示されます。

ご覧のように、"常時無料対象 "のオプションがいくつかあります。残念ながら、OracleクラウドのOracle BRM Cloud-Native Deployment無料ティアを試すには十分ではありません。より高度な機能を使用する必要がありますが、30日間無料で試すことができます。
Oracle BRMサービス用データベースシステムの準備
まず、BRM 展開用のデータベースを準備する必要があります。ハンバーガー・ボタンをクリックしてメイン・メニューを開き、"Database "セクションで "Bare Metal, VM, and Exadata "オプションを選択します。次に "Create DB System "ボタンをクリックします。ここで図2に示すように、新しいデータベース・インスタンスを構成することができます。

DBシステムの名前を選択し、選択したマネージド・データセンターのどのアベイラビリティ・ドメインで実行するかを選択する必要があります。仮想マシン" 形状タイプを選択し、データベースの基本的な形状を選択します (テスト目的にはこれで十分です)。データベースソフトウェアのエディションとして「Enterprise Edition High Performance」を選択します。Enterprise Edition "を選択した場合、データベースインスタンスはパーティショニングをサポートせず、結果としてBRMデプロイメントが失敗することに注意してください。他のインスタンス・パラメータを調整し、アクセス用のSSH公開鍵をアップロードすることもできます。次のページでは、さらにいくつかのオプションを設定し、データベース・インスタンスの管理者認証情報を定義します。これで設定を確定し、DBシステムが作成されます。
ここで1つ重要な注意事項があります: このアベイラビリティドメインでDBシステムを作成するためのサービス制限に達したというメッセージが表示された場合、Oracleサポートにサービスリクエスト(SR)を開き、そのオプションを有効にする必要があります。メインメニュー -> Governance -> Limits, Quotas, and Usageに移動します。そのページで、サービスリミットの増加をリクエストするためのリンクを見つけます。サービスリクエストを開いてから、そのリクエストが承認されるまで数日かかる場合がありますが、通常、そのようなリクエストはすぐに解決されます。
クラウドネイティブ BRM 用の DB システムがプロビジョニングされ、稼動しているので、DB のテーブルスペースとスキーマを準備する必要があります。まず、Oracle SQL Developer (または他のクライアント) を設定して、新しく作成したデータベースに接続します。

これを行う1つの方法は、DBシステムのパブリックIPアドレスを使用することです。パブリック IP アドレスは、DB システムページの Nodes セクションで見つけることができます。このアドレスと DB システムページにある他のデータを使用して、Oracle SQL Developer 接続を設定します。SYSDBA としてログインし、Oracle BRM ドキュメントにあるデータベースの準備ステップを実行します。
Oracle BRMサービス用のKubernetesクラスタの準備
OracleクラウドでKubernetesクラスタを準備します。メインメニュー -> Developer Services -> Container Clusters (OKE)を開きます。Create clusterをクリックし、フォームに必要事項を入力して新しいクラスタを作成します。

クラスタが作成されたら、docker、kubectl、helmもローカルマシンにインストールする必要があります。これらのコンポーネントのインストール方法は、それぞれの公式サイトに記載されています。次に、Oracle Cloud のリモートコンテナクラスタを管理するためにローカル環境を設定する必要があります。その方法は、以下のように "Access Kubeconfig "ボタンをクリックすることで確認できます。

KubernetesクラスタへのOracle BRMクラウドネイティブデプロイの展開
データベースがドキュメント通りに設定され、Kubernetesクラスタが作成され実行されている場合、BRMのデプロイに進むことができます。まず、提供されたすべてのdocker BRMイメージをdocker環境にロードし、タグ付けしてOracleクラウドのリモートリポジトリにプッシュします。
基本的には、Oracleのウェブページの指示に従ってください。しかし、ステップ3でhello-worldの画像を引っ張ってくる代わりに、tarファイルからOracle BRMの画像を読み込む必要があります。
イメージがロードされ、Oracleクラウドインフラストラクチャのリポジトリにプッシュされると、ヘルムチャートをデプロイする準備が整います。
Oracle BRM Cloud-Native Deploymentパッケージは2つのチャートを提供します:
- oc-cn-init-db-helm-chartは、すべての必要なテーブル、インデックス、ビューなどを作成し、BRMサービスが実行できるように初期デフォルトデータをデータベースにロードするinit_dbイメージを展開します、
- BRMクラウドネイティブサービスを展開するoc-cn-helm-chart
BRMサービスのためにデータベースを準備するために、最初にoc-cn-init-db-helm-chartをデプロイする必要があります。
oc-cn-init-db-helm-chartが解凍されたフォルダに行き、values.yamlをoverride-values.yamlにコピーします。次に、override-values.yamlファイルを開き、Oracle BRM Cloud-Native Deploymentのドキュメントにある指示に従って必要な値をすべて設定します。すべてのパスワードはbase64エンコーディングで入力する必要があることに特に注意してください。
imageRepository" フィールドが Oracle クラウドインフラストラクチャのレジストリを指すように設定し、イメージを見つけられるようにする必要があります:
imageRepository:"eu-frankfurt-1.ocir.io/frm097gtmuzm/"
チャートが正しくデプロイされるために必要な "/" にも注意してください。override-values.yamlファイルの "db "セクションで、データベースのアクセス・データを提供する必要があります。ここでは、DBホストとしてパブリックIPを使用する必要はありません。実際には、パフォーマンス上の理由から、プライベートIPアドレスまたはDNS名を使用する方がずっと良いでしょう。
ヘルムチャートのオーバーライド値を設定したら、次のコマンドで配置することができます:
helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm-chart/override-values.yaml
ここでhelmはBRM DB初期化イメージをKubernetesクラスタにデプロイし、BRM用のデータベースの準備を始めます。
デプロイのステータスを確認するには
helm status initdb
ポッドに何らかの問題が発生した場合、そのような問題をデバッグするには複数の方法があります。基本的なアプローチの1つは、失敗したPodのログをチェックすることです:
kubectl ログ
また、別のコマンドを使えば、有用なデバッグデータを得ることができます:
kubectl describe pods
データベースが初期化された後、別のチャート - oc-cn-helm-chart - をデプロイ用に準備することができます。このチャートは実際に BRM をクラスタにデプロイします。oc-cn-init-db-helm-chartからoverride-values.yamlファイルの "db "セクションをoc-cn-helm-chartにコピーします。その後、oc-cn-init-db-helm-chart と同様の方法で、override-values.yaml で他の必要な値を設定する必要があります。すべてのキーの説明はOracle BRM Cloud Native Deploymentのドキュメントにあります。全てのパスワードはbase64エンコードされていなければならないことに注意してください。すべてのBRMコンポーネントをデプロイしたくない場合は、chartフォルダ内のtemplatesサブディレクトリから特定のコンポーネントのファイルを削除し、override-values.yamlファイルから関連するセクションを削除することができます。
次のコマンドでBRMを展開できます:
helm install oc-cn-helm-chart -name occn-ps2 -namespace ocgbu -values oc-cn-helm-chart/override-values.yaml
oc-cn-helm-chart を oc-cn-init-db-helm-chart とは異なる名前空間(この例では "ocgbu")にデプロイする必要があることに注意してください。
Kubernetes Dashboardを使用してKubernetesデプロイメントを監視すると便利です。Kubernetes Dashboardはデフォルトではデプロイされていないため、以下のコマンドを使用してクラスタにデプロイできます:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
その後、ダッシュボードにアクセスするためにプロキシサービスを実行する必要があります:
kubectl プロキシ
これで、以下のアドレスを使ってブラウザでKubernetes Dashboardを開くことができます:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
図6に、デプロイされたサービスのKubernetesダッシュボード表示を見ることができます。

実行中のポッドの内部でシェルを開くこともできます。これは、たとえば内部ログにアクセスしたい場合など、さまざまな理由で役に立つことがあります。以下のコマンドでポッド内でシェルを開くことができます:
kubectl exec -n -it - /bin/bash
ログは通常、Pod の /oms_logs というパスにあります。
おめでとうございます、Oracle BRM Cloud-Native Deployment を Oracle Cloud にデプロイできました!
結論
この記事では、Oracle BRM Cloud-Native DeploymentをOracleクラウドインフラにデプロイするために必要な主なステップをすべて説明します。デプロイに関して追加のヘルプが必要な場合 オラクルBRM をOracleクラウドにデプロイしたい方、提案が必要な方、すべての課金ニーズに対応できる信頼できるソリューション・プロバイダーをお探しの方は、お気軽にお問い合わせください。しかし、OracleクラウドへのOracle BRM Cloud-Native Deploymentのデプロイは、それをテストする唯一のオプションではありません。ローカルサーバー環境にもデプロイできます。その方法については、次回の記事でご紹介します。