マルチアプリ管理

App supervisorEnterprise Edition+

機能概要

マルチアプリ管理は、NocoBase が提供する統合アプリケーション管理ソリューションです。1 つまたは複数の実行環境で、物理的に分離された複数の NocoBase アプリインスタンスを作成・管理できます。AppSupervisor により、単一の入口から複数アプリを作成・運用でき、業務要件や成長段階の違いに対応できます。

マルチアプリは、次のようなシナリオに適しています。

  • CRM、アフターサービス、運用、データ分析など、業務モジュールごとに大きなシステムを複数アプリへ分割する
  • 業務ラインやモジュールごとにチームが並行開発し、モジュール間の設定やリリースの影響を抑える
  • 顧客、テナント、組織ごとに独立したアプリを作成する
  • デモ、テスト、サンドボックス環境をまとめて作成する
  • アプリ数や負荷の増加に応じて、アプリを異なる実行環境へ配置する

単一アプリ

プロジェクト初期は、多くのユーザーが単一アプリから開始します。

このモードでは、1 つの NocoBase インスタンスのみをデプロイします。すべての業務機能、データ、ユーザーが同一アプリ内で動作します。デプロイが簡単で設定コストも低く、PoC、小規模プロジェクト、社内ツールに適しています。

ただし、業務が複雑化すると、単一アプリには次のような制約が生じます。

  • 機能が積み上がり、システムが肥大化する
  • 業務ドメイン間の分離が難しい
  • 拡張・保守コストが継続的に増える

この段階では、保守性と拡張性を高めるために、業務を複数アプリへ分割するのが一般的です。

共有メモリ型マルチアプリ

業務を分割したい一方で、複雑なデプロイ/運用構成を導入したくない場合は、共有メモリ型マルチアプリモードに移行できます。

このモードでは、1 つの NocoBase インスタンス内で複数アプリを同時に実行できます。各アプリは独立しており、独自 DB に接続でき、個別に作成・起動・停止できます。一方で同一プロセス/メモリ空間を共有するため、運用対象は 1 つの NocoBase インスタンスのままです。

この方式の主な利点は次の通りです。

  • 業務をアプリ単位で分割できる
  • アプリ間の機能・設定がより明確になる
  • マルチプロセス/マルチコンテナ方式よりリソース消費が少ない

ただし、すべてのアプリが同一プロセスで動作するため、CPU・メモリを共有します。単一アプリの障害や高負荷が他アプリの安定性に影響する場合があります。

アプリ数が増加し続ける場合や、より高い分離性・安定性が必要な場合は、さらに上位のアーキテクチャへ進む必要があります。

マルチ環境ハイブリッドデプロイ

業務規模と複雑性が高まり、アプリを大規模に拡張する必要が出ると、共有メモリ型はリソース競合、安定性、セキュリティの課題に直面します。この段階では、より複雑なシナリオに対応するために、マルチ環境ハイブリッドデプロイを採用できます。

このアーキテクチャの核は、入口アプリを導入することです。1 つの NocoBase を統合管理センターとして配置し、複数の NocoBase をアプリ実行環境として配置して、実際の業務アプリを稼働させます。

入口アプリの役割:

  • アプリの作成、設定、ライフサイクル管理
  • 管理コマンドの配信と状態集約

実行環境側の役割:

  • 共有メモリ型マルチアプリ方式で業務アプリを実際にホスト・実行

ユーザー視点では、複数アプリを 1 つの入口から作成・管理できますが、内部的には次のように分離されます。

  • アプリごとに異なるノード/クラスタで実行できる
  • 各アプリが独立した DB とミドルウェアを利用できる
  • 高負荷アプリを個別に分離・スケールできる

この方式は、SaaS、大量のデモ環境、マルチテナントなどに適しており、柔軟性を保ちながら安定性と運用性を高めます。