Oracle BRM 12 является одной из лучших корпоративных систем биллинга и управления доходами на рынке и устанавливает стандарты, на которые стремятся равняться другие. BRM имеет многолетнюю и даже десятилетнюю историю (вместе со своими предшественниками Infranet и Portal). После того, как в 2006 году Oracle приобрела компанию Portal Software, развитие продолжалось: регулярно выходили новые пакеты обновлений и новые версии программного обеспечения, в которых появлялись новые возможности.
Недавно Oracle BRM 12 открыл совершенно новую главу и достиг новой захватывающей важной вехи, выпустив Oracle BRM Cloud-Native Deployment. Этот релиз позволяет развертывать BRM в облачной среде Kubernetes, что открывает новые возможности использования BRM в решениях SaaS (программное обеспечение как услуга), PaaS (платформа как услуга) и IaaS (инфраструктура как услуга). Развертывание в облаке дает нам некоторые преимущества по сравнению с традиционной моделью развертывания программного обеспечения, такие как масштабируемость и надежность. При развертывании в новом облаке системные и аппаратные ресурсы могут быть добавлены к BRM по требованию, если это необходимо, без беспокойства о больших капиталовложениях в дополнительное оборудование. Вы можете динамически масштабировать свое развертывание и добавлять другие узлы и реплики для определенных услуг BRM или удалять их, если они больше не нужны. Kubernetes заботится о Ваших запущенных стручках и следит за тем, чтобы все сервисы были в рабочем состоянии, в результате чего время безотказной работы облачных развертываний выше среднего по сравнению с местным развертыванием программного обеспечения.

Официально Oracle Cloud в настоящее время поддерживается для развертывания Oracle BRM Cloud Native, хотя возможно развертывание BRM и в некоторых других облачных средах. В этой статье мы рассмотрим, как развернуть Oracle BRM в Oracle Cloud.
Оглавление
О Oracle Cloud
Корпорация Oracle предлагает свою услугу облачных вычислений (Oracle Cloud), которая предоставляет услуги, хранение данных, серверы и т.д. через глобальную сеть управляемых центров обработки данных. Вы можете выбрать, какой управляемый центр обработки данных Вы хотите использовать при создании своей облачной среды. Обычно Вы хотите выбрать тот, который находится географически близко к Вам. Некоторые основные возможности Oracle Cloud (например, некоторые необходимые экземпляры автономной базы данных и виртуальной машины - с ограничениями) находятся в бесплатном уровне Oracle Cloud (названном "Always Free Eligible") и могут использоваться бесплатно в течение неограниченного времени. Вы также можете воспользоваться 30-дневной бесплатной пробной версией, и в этот период времени Вы можете протестировать более продвинутые функции и возможности, которые предлагает Вам Oracle Cloud. Ваша учетная запись всегда может быть обновлена до платной версии. Oracle Cloud предоставляет удобный калькулятор оценки стоимости, где Вы можете установить инфраструктуру и услуги, которые Вы хотите использовать, и калькулятор выдаст Вам оценку стоимости выбранной Вами инфраструктуры.
Теперь давайте рассмотрим, как Вы можете выполнить Oracle BRM Native Cloud Deployment в Oracle Cloud бесплатно в целях тестирования.
Развертывание Oracle BRM 12 в Oracle Cloud для целей тестирования
Во-первых, Вам необходимо получить правильную версию программного обеспечения BRM из Oracle Software Delivery Cloud. Найдите "Oracle Communications Billing and Revenue Management Cloud-Native Deployment Option" и получите последнюю доступную версию. Затем Вам необходимо зарегистрироваться для использования Oracle Cloud. После регистрации и настройки учетной записи перед Вами откроется экран Oracle Cloud Dashboard, подобный тому, что показан на Рис. 1.

Как Вы можете видеть, здесь представлены некоторые "Всегда свободные варианты". К сожалению, для тестирования Oracle BRM Cloud-Native Deployment бесплатного уровня Oracle Cloud будет недостаточно. Вам придется использовать некоторые более продвинутые функции, но Вы можете опробовать их бесплатно в течение 30 дней.
Подготовка системы базы данных для услуг Oracle BRM
Сначала Вам необходимо подготовить базу данных для развертывания BRM. Откройте главное меню, нажав на кнопку в виде гамбургера, чтобы открыть главное меню, затем выберите опцию "Bare Metal, VM и Exadata" в разделе "Database". Теперь нажмите на кнопку "Create DB System". Здесь Вы можете настроить Ваш новый экземпляр базы данных, как показано на рисунке 2.

Вы должны выбрать имя для своей системы БД и выбрать, в каком домене доступности в выбранном Вами управляемом центре обработки данных Вы хотите ее запустить. Выберите тип формы "Виртуальная машина" и некоторую базовую форму для Вашей базы данных (этого будет достаточно для наших целей тестирования). Выберите "Enterprise Edition High Performance" в качестве редакции программного обеспечения для базы данных. Обратите внимание, что если Вы выберете "Enterprise Edition", то Ваш экземпляр базы данных не будет поддерживать разбиение на разделы, и, как следствие, развертывание BRM будет неудачным. Затем Вы можете настроить некоторые другие параметры экземпляра и загрузить свой открытый ключ SSH для доступа. На следующей странице Вы можете настроить еще несколько параметров и определить учетные данные администратора для Вашего экземпляра базы данных (они очень важны, запомните их). Теперь Вы можете подтвердить свои настройки, и DB System будет создана.
Одно важное замечание: если Вы получите сообщение о том, что Вы достигли лимита услуг для создания DB System в этом домене доступности, то Вы должны открыть запрос на обслуживание (SR) для службы поддержки Oracle, чтобы она предоставила Вам эту возможность. Перейдите в Главное меню -> Управление -> Лимиты, квоты и использование. Найдите на этой странице ссылку для запроса на увеличение лимита обслуживания. После открытия запроса на обслуживание может пройти несколько дней, прежде чем запрос будет удовлетворен, однако обычно такие запросы решаются быстро.
Теперь, когда система БД для нашего облачного BRM создана и запущена, Вам необходимо подготовить табличные пространства и схемы БД. Во-первых, Вы должны настроить Oracle SQL Developer (или другой клиент) для подключения к только что созданной базе данных.

Один из способов сделать это - использовать публичный IP-адрес Вашей системы БД. Вы можете найти свой публичный IP-адрес в разделе Узлы на странице Вашей системы БД. Используйте этот адрес и другие данные, найденные на странице Вашей системы БД, для настройки соединения Oracle SQL Developer. Войдите в систему как SYSDBA и выполните подготовительные шаги для базы данных, описанные в документации Oracle BRM.
Подготовка кластера Kubernetes для сервисов Oracle BRM
Теперь Вам необходимо подготовить Ваш кластер Kubernetes в Oracle Cloud. Откройте главное меню -> Developer Services -> Container Clusters (OKE). Нажмите на Create cluster и заполните форму для создания нового кластера.

После создания кластера Вам также необходимо установить docker, kubectl и helm на Вашу локальную машину. Вы можете найти инструкции по установке всех этих компонентов на соответствующих официальных сайтах. Затем Вы должны настроить Вашу локальную среду для управления удаленными контейнерными кластерами в Oracle Cloud. Вы можете найти инструкции о том, как это сделать, нажав на кнопку "Access Kubeconfig", как показано на рисунке

Развертывание Oracle BRM Cloud Native Deployment в кластере Kubernetes
Когда Ваша база данных настроена в соответствии с документацией, а кластер Kubernetes создан и запущен, Вы можете приступить к развертыванию BRM. Сначала Вам необходимо загрузить все предоставленные образы BRM в Вашу среду docker, затем пометить их и перенести в удаленный репозиторий в Oracle Cloud, чтобы образы были найдены при развертывании рулевых диаграмм.
В основном, Вы должны следовать инструкциям на веб-странице Oracle. Но вместо извлечения образа hello-world на шаге 3, Вы должны загрузить образы Oracle BRM из tar-файлов.
Когда образы загружены и перенесены в хранилище в Oracle Cloud Infrastructure, Вы готовы к развертыванию штурвальных диаграмм.
Пакет Oracle BRM Cloud-Native Deployment предоставляет Вам две диаграммы:
- oc-cn-init-db-helm-chart, который развертывает образ init_db, который создает все необходимые таблицы, индексы, представления и т.д. и загружает начальные данные по умолчанию в базу данных, чтобы службы BRM могли работать,
- oc-cn-helm-схема, которая развертывает облачные нативные сервисы BRM
Вы должны сначала развернуть oc-cn-init-db-helm-chart, чтобы подготовить базу данных для служб BRM.
Перейдите в папку, куда распакована oc-cn-init-db-helm-chart, и скопируйте файл values.yaml в файл override-values.yaml. Затем откройте файл override-values.yaml и настройте все необходимые значения в соответствии с инструкциями, найденными в документации Oracle BRM Cloud-Native Deployment. Обратите особое внимание на то, что все пароли должны быть введены в кодировке base64.
Вы должны настроить поле "imageRepository" для указания на Ваш реестр Oracle Cloud Infrastructure, чтобы, например, можно было найти изображения:
imageRepository: "eu-frankfurt-1.ocir.io/frm097gtmuzm/"
Обратите внимание также на "/", который необходим для правильного развертывания графика. В секции "db" файла override-values.yaml Вы должны указать данные доступа к Вашей базе данных. Здесь нет необходимости использовать публичный IP-адрес в качестве хоста БД; на самом деле, гораздо лучше использовать частный IP-адрес или DNS-имя по соображениям производительности.
После настройки значений переопределения для диаграммы штурвала Вы можете развернуть ее с помощью следующей команды:
helm install oc-cn-init-db-helm-chart -name initdb -values oc-cn-init-db-helm-chart/override-values.yaml
Теперь шлем развернуть образ инициализации BRM DB на кластере Kubernetes и начать подготовку Вашей базы данных для BRM.
Вы можете проверить состояние Вашего развертывания с помощью:
helm status initdb
Если Вы видите какие-либо проблемы с pods, существует несколько методов отладки таких проблем. Один из основных подходов заключается в проверке журналов сбойного стручка:
журналы kubectl
Кроме того, еще одна команда может предоставить Вам полезные отладочные данные:
kubectl describe pods
После того, как Ваша база данных инициализирована, Вы можете подготовить другой график - oc-cn-helm-chart - для развертывания. Эта диаграмма фактически развернет BRM на Вашем кластере. Вы можете скопировать секцию "db" файла override-values.yaml из Вашего графика oc-cn-init-db-helm в график oc-cn-helm. Затем Вам нужно настроить все остальные необходимые значения в файле override-values.yaml таким же образом, как и для oc-cn-init-db-helm-chart. Описание всех ключей Вы можете найти в документации Oracle BRM Cloud Native Deployment. Обратите внимание, что все пароли должны быть закодированы в base64. Если Вы не хотите развертывать все компоненты BRM, Вы можете удалить файлы определенных компонентов из подкаталога templates внутри папки chart и удалить соответствующие секции из файла 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 в другом пространстве имен (в нашем примере "ocgbu"), чем oc-cn-init-db-helm-chart.
Полезно следить за развертыванием Kubernetes с помощью Kubernetes Dashboard. Поскольку Kubernetes Dashboard не развернута по умолчанию, Вы можете развернуть ее на своем кластере с помощью следующей команды:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
Затем Вам необходимо запустить службу прокси для доступа к панели инструментов:
kubectl proxy
Теперь Вы можете открыть Kubernetes Dashboard в своем браузере, используя следующий адрес:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
На рисунке 6 Вы можете видеть отображение развернутых сервисов в Kubernetes Dashboard.

Также можно открыть shell внутри одной из запущенных капсул. Иногда это может быть полезно по ряду причин, например, если Вы хотите получить доступ к некоторым внутренним журналам. Вы можете открыть shell внутри стручка с помощью следующей команды:
kubectl exec -n -it - /bin/bash
Журналы обычно можно найти по пути /oms_logs в pod.
Поздравляем, Вы успешно развернули Oracle BRM Cloud-Native Deployment на Oracle Cloud!
Заключение
В этой статье описаны все основные шаги, необходимые для развертывания Oracle BRM Cloud-Native Deployment на Oracle Cloud Infrastructure. Если Вам нужна дополнительная помощь в развертывании Oracle BRM на Oracle Cloud, нужны предложения или если Вы ищете надежного поставщика решений для всех Ваших биллинговых потребностей, не стесняйтесь обращаться к нам. Но развертывание Oracle BRM Cloud-Native Deployment в Oracle Cloud - это не единственный вариант его тестирования. Вы можете развернуть его и на локальном сервере. Мы рассмотрим, как это сделать в одной из наших следующих статей.