> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Cloud — Laravel 專用 PaaS 全貌

> 2025 年登場的 Laravel Cloud。解說與 Forge 的差異、擅長與不擅長的事，以及實際使用的好處。

## 什麼是 Laravel Cloud

[Laravel Cloud](https://cloud.laravel.com/docs/intro) 是 Laravel 官方的 **全託管 PaaS**。
從應用部署、擴縮、資料庫、快取到 WebSocket 基礎，皆為 Laravel 整合。

Cloud 的 [Changelog](https://cloud.laravel.com/docs/changelog) 中，`February 24, 2025` 記錄了 **Launched Laravel Cloud!**。是 2025 年才開始一般提供的相對新服務。

***

## 與 Forge 的差異

Laravel Cloud 與 Laravel Forge 都是為 Laravel 開發者，但層級不同。

| 觀點      | Laravel Cloud    | Laravel Forge               |
| ------- | ---------------- | --------------------------- |
| 定位      | 全託管 PaaS         | 伺服器管理工具                     |
| 主要操作    | 選環境與資源後部署        | 對 VPS / EC2 等 provision 並運維 |
| 基礎架構管理  | 最小（由 Cloud 端管理）  | OS 與中介軟體運維由使用者負責            |
| root 權限 | 無（不預期 OS 層級直接操作） | 有（可靈活控制伺服器）                 |

「不想意識到基礎架構，希望能快速上線 Laravel 應用」建議 Cloud；
「想細部控制伺服器」則 Forge 較合適。

***

## Laravel Cloud 擅長的事

Laravel Cloud 的優勢在於，Laravel 實務常用的功能都可從儀表板中心輕鬆啟用。

### Task Scheduler

在 [Scheduled Tasks](https://cloud.laravel.com/docs/scheduled-tasks)，只要對 App cluster 或 Worker cluster 啟用 **Scheduler**，`schedule:run` 就會每分鐘執行。

### Managed Queues（受託管佇列）

在 [Queues](https://cloud.laravel.com/docs/queues) 中建議使用 **Managed Queues**。Laravel Cloud 會自動處理佇列的 provision、worker 啟動與擴縮，沒有 Job 時 worker 數量會降到零，僅在處理中計費。

| 選項                          | 適用情境                        | 擴縮                  | 費用邏輯                 |
| --------------------------- | --------------------------- | ------------------- | -------------------- |
| **Managed Queues**          | 正式、預覽、開發環境全域。最先選的架構         | 依佇列積壓自動擴縮。idle 時降至零 | worker 運轉秒數 + 佇列操作   |
| **Worker cluster**          | 想自行管理 `queue:work`、較大量的背景處理 | 依 CPU / 記憶體         | Worker cluster 的一般費率 |
| **App cluster 的背景 Process** | 小規模開發或低頻 Job                | 依 CPU / 記憶體         | 含在 App cluster       |

Managed Queues 可分離 Web 流量與 Job 處理，並使用失敗 Job 儀表板。
若想自管 `database` 或 `redis` 等其他 driver 則用 Worker cluster；若與應用同 Compute 就足夠，用 App cluster 的背景 Process。

<Steps>
  <Step title="建立 Managed Queue">
    在環境的基礎架構畫布儀表板中點選 **New Managed Queue**。
  </Step>

  <Step title="決定佇列名稱與 Worker 設定">
    設定佇列名稱、instance 大小、輪詢間隔、最大 worker 數等。
  </Step>

  <Step title="儲存後部署">
    儲存設定並重新部署後，Laravel Cloud 會自動準備佇列與 worker pool。
  </Step>
</Steps>

<Tip>
  沒有 Job 時 Managed Queues 的 worker 會降至零，因此與後述的 Scale to Zero 搭配相性良好。就算 App cluster 側休眠，需要佇列處理時仍可自動啟動。
</Tip>

### Scale to Zero（Flex Compute）

[Compute](https://cloud.laravel.com/docs/compute#scale-to-zero) 中的 **Flex** 是低成本且靈活的 compute class。新的 **Scale to Zero** 就是把此 Flex Compute 由舊 Hibernation 演進而來的機制。新的 **Flex Compute** 在 HTTP 請求抵達時的啟動時間縮短至 **500ms 內**，過去要等 5〜20 秒的前提已不存在。

啟用只要在 App cluster 設定畫面把 **Scale to Zero** 開關切為 On，儲存後重新部署即可。

此外，Scale to Zero 啟用的環境即使在 sleep 中，也會為 Scheduled Tasks 與佇列處理而自動啟動。
在 App cluster 上跑 `schedule:run`、將 Job 處理交給 Managed Queues 的組合，是目前官方文件中最好用的組合。

<Info>
  App cluster 上自管 `queue:work` 若跨越 sleep timeout 可能被中斷。若要確保佇列處理持續，請依官方文件優先採用 Managed Queues。
</Info>

### MySQL Scale to Zero

[Laravel MySQL](https://cloud.laravel.com/docs/resources/databases/laravel-mysql#scale-to-zero) 的 **Flex** 尺寸也支援 Scale to Zero。資料庫在一段時間（idle timeout 可設 1 分至 1 小時）未接收連線就會 sleep，並停止 Compute 計費。儲存空間始終在線，因此 sleep 中資料仍保留，僅儲存部分繼續計費。

當下一次連線抵達時會自動啟動。所有 Laravel MySQL cluster 前端都有 Proxy，因此啟動中的連線會由 Proxy 保留後再轉發到資料庫。不會出現連線錯誤，只有第一個查詢會延遲幾百毫秒（記憶體越大啟動時間傾向越久）。自動備份或手動快照時也會暫時啟動，完成後再次 sleep。

目前於 US East (N. Virginia) 與 US East (Ohio) 的 Flex 尺寸可用，其他區域將陸續支援。既有的資料庫會以目前大小與費率繼續運作。**Pro** 尺寸為常時運轉，不在 Scale to Zero 對象內。

<Warning>
  支援 Scale to Zero 的 Flex 資料庫，若被多個應用共用或整日都有存取則不會 sleep，效果就有限。若既有 MySQL 已穩定運作，改為 Scale to Zero 版可能會讓最低月費略增（$5.5 → $6.6），請視工作負載判斷。新建 MySQL 已只提供 Scale to Zero 版可選。
</Warning>

搭配 [Compute 的 Scale to Zero](https://cloud.laravel.com/docs/compute#scale-to-zero)、[Laravel Valkey 的 Scale to Zero](https://cloud.laravel.com/docs/resources/caches/valkey#scale-to-zero)，即便是流量有波動的正式環境、開發環境或 side project 也能將成本壓到最低。

### Laravel Octane

在 [Compute](https://cloud.laravel.com/docs/compute#laravel-octane) 啟用 **Use Octane as runtime**，Cloud 就會以 Octane + FrankenPHP 架構執行，不必手動組合伺服器設定。

### Inertia SSR

在 [Compute](https://cloud.laravel.com/docs/compute#inertia-ssr) 啟用 **Use Inertia SSR** 即可使用。若使用啟動套件，建議 `npm run build:ssr`。

### WebSocket 伺服器（Reverb）

透過 [Laravel Cloud WebSockets](https://cloud.laravel.com/docs/resources/websockets) 可建立以 Reverb 為基礎的 WebSocket cluster。附掛到環境後 `REVERB_*` 與 `VITE_REVERB_*` 會自動注入。

### Laravel Nightwatch 整合

[Environments](https://cloud.laravel.com/docs/environments#nightwatch-integration) 提供一鍵整合，Cloud 的 [Changelog](https://cloud.laravel.com/docs/changelog) 在 `July 1, 2025` 也記錄了 **One-Click Nightwatch Integration**。
若需要手動設定，[nightwatch-on-cloud](https://cloud.laravel.com/docs/knowledge-base/nightwatch-on-cloud) 有相關步驟。

***

## 費用與免費方案

Laravel Cloud 的費用基本上為**方案費 + 用量計費**。
詳細以 [Pricing](https://cloud.laravel.com/docs/pricing) 為準。

* **Starter**：月費 `$5`。每月附 `$5` 用量 credit。新註冊首月免費
* **Growth**：`$20/mo + usage`，每月附 `$5` 用量 credit
* **Business**：`$200/mo + usage`，每月附 `$5` 用量 credit

比起過去，**Starter** 更容易讓小專案起步。
組合 Scale to Zero 與 Managed Queues 後，等待時間長的個人開發或內部工具的費用也更容易掌握。

***

## 實際使用的注意事項

### 無法採用需 root 權限的運作

Cloud 是 PaaS，優先於 OS 層級自由度的是運維簡便性。
若需要 kernel 設定或自訂常駐 daemon 等以 root 權限為前提的作業，可考慮 Forge 等方案。

### Nightwatch 事件量請先控制

若在免費額度或小規模架構使用 Nightwatch，事件量容易攀升，建議一開始就先設取樣。

```ini theme={null}
NIGHTWATCH_REQUEST_SAMPLE_RATE=0.1
NIGHTWATCH_IGNORE_QUERIES=true
```

***

## 適合與不適合的專案

### 適合

* 想以最短時間讓 Laravel 應用上線
* 想一次運維 Scheduler / Queue / Octane / Inertia SSR / Reverb
* 想專注於應用開發、降低伺服器運維成本

### 不適合

* 想以 root 權限對 OS 層級進行深度調校
* 有既有特殊基礎架構需求（自訂中介軟體或特殊網路限制）

***

## 總結

Laravel Cloud 非常適合「想以較低基礎架構負擔運維 Laravel 進階功能」的團隊。
特別是要組合 Scheduler / Queue / Octane / Inertia SSR / Reverb / Nightwatch 的專案，能顯著加快啟動與運維初速。

另一方面，若運維以需要 root 權限為前提，Forge 更適合。
可先用免費試用實跑實際工作負載，確認是否符合運維需求。


## Related topics

- [Laravel Cloud Hibernation（自動休眠）](/zh-TW/blog/laravel-cloud-hibernation.md)
- [部落格](/zh-TW/blog/index.md)
- [laravel/symfony-on-cloud — 在 Laravel Cloud 上執行 Symfony 應用](/zh-TW/blog/symfony-on-cloud-introduction.md)
- [Labeler](/zh-TW/packages/laravel-bluesky/labeler.md)
- [博客](/zh-CN/blog/index.md)
