アーキテクチャとコンポーネント
OpenLM Platform は、Kubernetes 上で約 150 のコンテナ化サービスとして動作する、スケーラブルなマイクロサービスベースのシステムです。このページでは、サイジング、ネットワーク、デプロイ詳細に入る前に、システム全体の高レベル構成を説明します。
プラットフォームレイヤー
システムは次のレイヤーで構成されています。
- Kubernetes クラスタ: 基盤レイヤーです。すべてのプラットフォームコンポーネントが Kubernetes によりオーケストレーションされたコンテナとして動作し、スケジューリング、スケーリング、自己修復を担います。
- API ゲートウェイ: すべての外部トラフィックの単一入口です。各リクエストを適切なマイクロサービスへルーティングします。
- アプリケーションマイクロサービス: ライセンス使用状況の収集、管理、identity と認証、ユーザー向け機能を担う中核サービス群です。
- レポートエンジン: Spark ベースの ETL パイプラインです。使用データを処理し、PostgreSQL または SQL Server にレポート用テーブルを出力します。その後、このデータを Power BI に接続してダッシュボードとレポートを提供します。Apache Superset もオープンソースの代替として利用可能ですが、現在は開発中です。
- データサービス: Kafka(マイクロサービス間のイベントストリーミング)、MongoDB(ドキュメントストレージ)、SQL データベース(運用データとレポートデータ)、Redis(キャッシュとセッション)で構成されます。
デプロイ方法
プラットフォームは umbrella Helm チャート として提供されます。これは、システムを動かすために必要な Kubernetes マニフェスト(Deployments、Services、ConfigMaps、Secrets)をひとつにまとめたパッケージです。values ファイルにドメイン、データベース接続、証明書、ストレージなど環境固有の設定を行い、単一の Helm コマンドでデプロイまたはアップグレードします。
備考
代替のインストール方法として、Ansible ベースのデプロイスクリプト も現在開発中です。
フィールドエージェント
組織内のマシンに 3 種類のエージェントをインストールし、データを収集してプラットフォームへ送信できます。多くの導入では、ライセンスサーバーイベントの取得を担う Broker が少なくとも利用されます。
| エージェント | 実行場所 | 役割 |
|---|---|---|
| Broker | ライセンスサーバーが稼働するマシン | ライセンスサーバーイベントと使用データを収集 |
| Workstation Agent | エンドユーザーのワークステーション | ワークステーション単位のアプリケーション使用状況を収集 |
| Directory Sync Agent (DSA) | ディレクトリアクセスが可能なマシン | ディレクトリデータ(Active Directory、LDAP)をスキャンし同期 |
すべてのエージェントは、同一ドメイン名の HTTPS(443 番ポート)でプラットフォームに接続します。詳細は ネットワーク を参照してください。