# 部署架構

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

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

## 一體式部署

### 架構說明

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

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

### 架構圖

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

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

<figure><img src="/files/4e7t1gjeEWwjBukeAOzN" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/McNZDPToM9nRtfUEXvAX" 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="/files/CZ1WLzpGNb2QvPSR8EuQ" 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maiagent.ai/tech/platform-development/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
