メインコンテンツまでスキップ

アーキテクチャとコンポーネント

OpenLM Platform は、Kubernetes 上で 100 を超えるコンテナ化サービスとして動作する、スケーラブルなマイクロサービスベースのシステムです。このページでは、サイジング、ネットワーク、デプロイ詳細に入る前に、システム全体の高レベル構成を説明します。

プラットフォームレイヤー

システムは次のレイヤーで構成されています。

  • Kubernetes クラスタ: 基盤レイヤーです。すべてのプラットフォームコンポーネントが Kubernetes によりオーケストレーションされたコンテナとして動作し、スケジューリング、スケーリング、自己修復を担います。
  • Ingress コントローラー: TLS を終端し、外部トラフィックに対するクラスタの入口となります。既定は Traefik で、K3s では自動的にインストールされます。nginx、Gateway API、OpenShift routes もサポートされます。
  • API ゲートウェイ: Ingress の背後に位置する Tyk です。ゲートウェイポリシーを適用し、各リクエストを適切なマイクロサービスへルーティングします。
  • アプリケーションマイクロサービス: ライセンス使用状況の収集、管理、identity と認証、ユーザー向け機能を担う中核サービス群です。
  • レポートエンジン: Spark ベースの ETL パイプラインです。使用データを処理し、PostgreSQL または SQL Server にレポート用テーブルを出力します。その後、このデータを Power BI に接続してダッシュボードとレポートを提供します。Apache Superset もオープンソースの代替として利用可能ですが、現在は開発中です。
  • データサービス: Kafka(マイクロサービス間のイベントストリーミング)、MongoDB(ドキュメントストレージ)、SQL データベース(運用データとレポートデータ)、Redis(キャッシュとセッション)で構成されます。

デプロイ方法

プラットフォームは umbrella Helm チャート として提供されます。これは、システムを動かすために必要な Kubernetes マニフェスト(Deployments、Services、ConfigMaps、Secrets)をひとつにまとめたパッケージです。values ファイルにドメイン、データベース接続、証明書、ストレージなど環境固有の設定を行い、単一の Helm コマンドでデプロイまたはアップグレードします。チャートはサービスごとに 100 を超えるサブチャートで構成されているため、既定のタイムアウト(5 分)では起動が完了しないことがあります。長めのタイムアウトを指定してください。

チャートと values テンプレートはデプロイパッケージで配布されます。対象バージョンのパッケージは OpenLM にお問い合わせのうえ入手してください。

インストール方法は 2 通りあります

Platform as VM のパスでは、Ansible ベースのインストーラー がこれらをすべて代行します。単一の entrypoint.sh スクリプトが Python、Ansible、Helm を準備し、1 つの playbook が K3s、インフラサービス、2 つの Helm リリースを最後まで一括でインストールします。

AWS、Azure、オンプレミスマシンのパスでは、既存のクラスタに対して Helm のインストールをお客様自身で実行します。プラットフォームのインストール を参照してください。

フィールドエージェント

組織内のマシンに 3 種類のエージェントをインストールし、データを収集してプラットフォームへ送信できます。多くの導入では、ライセンスサーバーイベントの取得を担う Broker が少なくとも利用されます。

エージェント実行場所役割
Brokerライセンスサーバーが稼働するマシンライセンスサーバーイベントと使用データを収集
Workstation Agentエンドユーザーのワークステーションワークステーション単位のアプリケーション使用状況を収集
Directory Sync Agent (DSA)ディレクトリアクセスが可能なマシンディレクトリデータ(Active Directory、LDAP)をスキャンし同期

すべてのエージェントは、同一ドメイン名の HTTPS(443 番ポート)でプラットフォームに接続します。詳細は ネットワーク を参照してください。