# 部署架構

MaiAgent 是一個可擴展的生成式 AI 平台，支援多樣化的應用場景。為了適應不同的業務需求與資源配置方式，平台提供了兩種主要的部署模式：**一體式部署** 與 **分散式部署**。

本章節將說明這兩種架構的差異、適用情境以及各自的優缺點，並提供實際的部署參考。

## 一體式部署

### 架構說明

在一體式部署模式下，MaiAgent 的所有核心組件（例如主服務、任務調度服務、資料儲存、資料庫、前端服務等）都安裝並運行在同一台伺服器。特徵是**集中化管理**，部署簡單，適合快速上線與測試環境。

MaiAgent 平台不需要 GPU 即可運行，能在一般 CPU 環境中順暢部署與執行。但若在具有 GPU 資源的機器上，平台亦能與模型部署於同一環境中，以充分利用硬體加速效能。以下提供兩種常見架構圖供參考。

### 架構圖

1. 部署於含 GPU 的伺服器：

MaiAgent 平台與模型服務共同安裝在同一台機器，平台以內部 API 的方式負責請求協調與流量控制，模型則利用 GPU 提供高效推理能力。平台與模型服務放置一起時，不需額外購買只運行平台的一般伺服器，降低整體硬體支出。

<figure><img src="https://527168072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F38pkhhqHl1oA6yyE9R2n%2Fuploads%2Fgit-blob-c44f0012dfa26a57f94b3502599ef95e0449b82b%2F%E6%88%AA%E5%9C%96%202025-09-07%20%E4%B8%8A%E5%8D%8810.45.02.png?alt=media" alt=""><figcaption></figcaption></figure>

2. 部署於不含 GPU 的伺服器：

MaiAgent 部署於不含 GPU 的伺服器時，因為仍需要模型服務，因此需透過 API 的方式與 GPU 伺服器或是雲端 API 推論服務串接。平台與模型服務與分離時，可獨立擴展，依需求彈性增加或減少算力，讓架構更具彈性與可維護性。

<figure><img src="https://527168072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F38pkhhqHl1oA6yyE9R2n%2Fuploads%2Fgit-blob-ae088ec75c4ed0ad2b74d027af6f5afdae86dff2%2F%E6%88%AA%E5%9C%96%202025-09-07%20%E4%B8%8A%E5%8D%8811.35.32.png?alt=media" alt=""><figcaption></figcaption></figure>

## 分散式部署

### 架構說明

在分散式部署模式下，MaiAgent 的各個核心模組被拆分成獨立服務，並分布在多台伺服器。不同模組可根據需求進行水平擴展，實現高可用性與大規模處理能力。

* **雲平台（Cloud PaaS）環境**\
  在公有雲或私有雲環境中，可直接利用平台即服務（PaaS）的能力，如 Kubernetes、AWS ECS/EKS、GCP Cloud Run、Azure App Service 等。這些服務提供容器編排、負載平衡、自動擴縮（auto-scaling）與監控機制，能讓分散式模組快速部署並動態調整資源，減少基礎設施維運負擔。
* **地端（On-Premise VM）環境**\
  即使在地端 VM 的情境下，也能透過虛擬機或裸機伺服器架設容器平台或應用服務框架，實現與雲端類似的分散式管理與擴展能力。雖然需自行規劃叢集資源、監控與備援機制，但同樣可達到高可用性與彈性伸縮。

### 架構圖

<figure><img src="https://527168072-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F38pkhhqHl1oA6yyE9R2n%2Fuploads%2Fgit-blob-b75d99c8b7d76847ec9ff2bd2c967640c156f6b3%2F%E6%88%AA%E5%9C%96%202025-09-07%20%E4%B8%8A%E5%8D%8811.28.15.png?alt=media" alt=""><figcaption></figcaption></figure>

## 部署模式比較表

<table><thead><tr><th width="133.58203125">特性</th><th>一體式部署</th><th>分散式部署</th></tr></thead><tbody><tr><td><strong>架構設計</strong></td><td>所有組件集中於單一伺服器/容器</td><td>各組件拆分為獨立服務，分布於多節點</td></tr><tr><td><strong>基礎設施成本</strong></td><td>低，單台伺服器即可</td><td>高，需要多台伺服器或雲端資源</td></tr><tr><td><strong>部署成本</strong></td><td>低</td><td>高，部署困難，需要 DevOps 團隊</td></tr><tr><td><strong>維護成本</strong></td><td>低，集中管理</td><td>高，需跨伺服器跨服務維護與監控</td></tr><tr><td><strong>可擴展性</strong></td><td>無，受限於單一機器資源</td><td>有，可針對瓶頸模組獨立擴容</td></tr><tr><td><strong>高可用性</strong></td><td>無，單點故障導致全系統中斷</td><td>有，單一服務故障不影響整體系統</td></tr><tr><td><strong>適用場景</strong></td><td>PoC、開發測試、小規模應用</td><td>正式上線、大規模、多部門</td></tr></tbody></table>
