- Overall Architecture
- MCM (Multi-Cluster Management) Architecture
- CI/CD Architecture
- Centralized Monitoring Architecture
- Centralized Logging Architecture
- Application & Deployment Group - Logical Architecture
Overall Architecture
Modernization Platformのアーキテクチャは大きく以下のように2種類のクラスタで構成されます。
Control Plane Cluster
Modernization Platform のすべてのアドオンサービスが構築および運用されるクラスタで、Console が提供する複数の機能を通じて、Data Plane Cluster のヘルスモニタリングと Agent のインストール、Application デプロイおよびモニタリングなどの機能を提供します。Data Plane Cluster
実際のビジネスアプリケーションがデプロイされ運用されているクラスターです。クラスタおよびApplicationの状態監視とログ収集のためのAgentは、ConsoleのCluster管理機能を通じてインストールおよび管理になり、ApplicationもConsoleが提供するApplication、Deployment Group(CI/CD)管理機能を通じて、Multi-Cluster環境に迅速に展開および運用できます。
注)
アーキテクチャ構成に示すように、Control Plane ClusterとData Plane Clusterは物理的に分離されています。これにより、Control Plane Clusterに障害が発生しても、Data Plane Clusterで稼働しているBusiness Applicationには影響しません。ただし、モニタリング/ロギングのためのメトリックとログ収集にはならず、コンソールを介したアプリケーションの新規デプロイは不可能です。
Monitoring, Logging ノードは、Data Plane Cluster の数と Node 数、Application 数のボリュームに応じて Scale-Out することができます。
MCM (Multi-Cluster Management) Architecture
Control Plane ClusterにMCM Backend、MCM Provisioningコンポーネントがインストールされます。
Console から Data Plane Cluster の新規作成または登録要求を受け取ると、Ansible または Terraform を通じて CSP (Cloud Service Provider) によって提供される AWS EKS、Azure AKS などの Managed Kubernetes Cluster を作成または登録する機能が提供されます。 (新規作成の場合現在未サポート)
また、登録されたクラスターを監視するためのメトリックとログを集中的に収集するエージェントのインストールおよび管理機能も提供します。
CI/CD Architecture
Control Plane ClusterのCICD Backendコンポーネントは、Business ApplicationのビルドおよびデプロイのためにKubernetesのCRDを使用して、Consoleが提供するApplicationとDeployment GroupをKubernetesリソースとして作成し、ライフサイクルを管理します。
Kubernetes環境に最適化されたTektonを使用してビルドパイプラインを構成して実行し、パイプラインの実行時に必要なライブラリ依存性管理サービス(Nexus)とコンテナイメージ管理サービス(Harbor)が連動します。
Business Applicationコンテナイメージのビルドが完了したら、ConsoleのApplicationとDeployment Group UI / UXを介してKubernetesのDeployment、Service、Ingress設定ファイルを動的に作成し、ジオメトリサービス(Gitea)に保存し、GitOpsサービスであるArgoCDを介してMulti-Clusterにアプリケーションをすばやくデプロイします。
Centralized Monitoring Architecture
Control Plane Clusterにオープンソース Cortex サービスが失われ、Data Plane ClusterにインストールされているPrometheus Agentを介して収集されたすべてのメトリックをTenantごとにCortexリポジトリに保存し、KibanaでTenantごとにOrganizationを作成して視覚化サービスを提供します。
Monitoring Backendコンポーネントは、プロジェクト(Tenant)のライフサイクルイベントに合わせて、KibanaにOrganization、、DataSource、Dashboardなどの作成/削除/権限などを管理します。
Centralized Logging Architecture
Control Plane ClusterにEFK(Elasticsearch、FluentD、Kibana)スタックとしてサービスがインストールされ、Data Plane Clusterにインストールされ、FluentBit Agentから収集されたすべてのログをElasticsearch Data Nodeに保存します。
Elasticsearch Data Nodeに保存されているすべてのログは、Open Distro Kibanaを介してアクセス権を管理します。
Application & Deployment Group - Logical Architecture
Console UI/UX で Application をビルド、デプロイするための Application および Deployment Group 管理機能を提供します。
アプリケーションは、実際にはマイクロサービスアーキテクチャ(MSA)でマイクロサービスを1つずつアプリケーションとして管理できます。 1つのアプリケーションは、必要に応じて複数のパイプラインで構築できます。
Deployment Group は、Application でビルドが完了し、Container Image Registry に登録された成果物をデプロイに必要なターゲット環境、Kubernetes 設定ファイル(Deployment、Service、ConfigMap、Secret、PVC、Ingress など)を定義して Multi-Cluster 環境にデプロイする機能です。
オンライン相談
問い合わせ