你好,我是ひるげ。
在個人開發Web應用程式時,你是否曾經思考過「應該部署到哪裡呢?」的經驗?
AWS和GCP功能強大,但成本令人擔憂。雖然免費服務有其限制...
本文將介紹適合個人開發者使用的部署推薦,並按類別分類。還會公開我目前開發中的應用程式所採用的架構,供你參考。
本文章在假設前端和後端分離的架構下進行具體探討。具體來說,就是將React等SPA作為前端,Go/Node.js等作為後端的架構。
以下情況則不需要這種架構:
這是針對「想做一個稍微正式的Web應用程式」的讀者所撰寫的文章。
在選擇個人開發的部署地點時,我重視以下三點:
尤其第一點至關重要。個人開發的「先嘗試」階段較長,因此能免費維持生產環境是我的首要考量。
2026/03/06補充:
順便說一句,很多服務會提供「僅限非營利使用的免費配額」,因此若計畫部署收費功能,請留意。
以下內容基本上是針對非營利使用的討論。
| 服務 | 免費配額 | 推薦重點 |
|---|---|---|
| Cloudflare Pages | 帶寬無上限、500建置/月 | 帶寬無上限非常吸引,商用使用OK |
| Vercel | 100GB帶寬/月 | 與Next.js相容性高。不過Hobby計畫不允許商用 |
| GitHub Pages | 帶寬100GB/月 | 專用於靜態網站 |
推薦:Cloudflare Pages
由於帶寬無上限且商用使用也OK,我認為這是最適合個人開發的解決方案。只需將GitHub存儲庫連接,即可自動部署,*.pages.dev 的域名也可以立即使用。
Vercel也是一個非常好的服務,但注意Hobby計畫僅限於非商用使用。如果未來考慮收益化,最好一開始就選擇Cloudflare Pages。
| 服務 | 免費配額 | 推薦重點 |
|---|---|---|
| Render | 750小時/月、512MB RAM | 有永久免費配額,支援Dockerfile部署 |
| Cloud Run | 每月200萬次請求、360000 vCPU秒、180000 GiB秒 | 提供東京區域,延遲低 |
| Railway | $5試用(30天) | 開發體驗良好(據說)。沒有永久免費配額 |
| Fly.io | 只有試用(7天或2小時) | 邊緣部署的優勢。免費配額標準複雜... |
偏好手頭簡便則選Render,注重響應速度選Cloud Run
如果想輕鬆地進行部署,Render是入門的最佳選擇。連接GitHub存儲庫後,自動部署即可開始,設置也很簡單。免費配額有「15分鐘沒有訪問會進入休眠」的限制,但你可以通過像UptimeRobot等免費監控服務定期發送請求來避免這個問題。
不過,Render的免費配額伺服器位於新加坡,因此對於日本的使用者響應時間會稍微遲緩。我自己在個人開發的API伺服器測試後,發現有以下差距。
| TTFB | |
|---|---|
| Cloud Run(東京) | 226ms |
| Render(新加坡) | 363ms |
對於小型服務,Cloud Run的免費配額基本可以滿足需求。例如我打算發布一個小型個人開發服務的Beta版,估算10至30個測試者 × 每天10至30次請求 × 30天 = 每月9000至27000次請求,這還不到免費配額(每月200萬次請求)的1%。當你希望「改善用戶體驗」時,再考慮遷移至Cloud Run。
另外,Cloud Run的部署格式為Docker Image,因此需要具備一定的Dockerfile撰寫能力。相較Render,它的設置門檻較高。
此外,Render還提供PostgreSQL的管理式資料庫,但免費配額的資料庫在創建30天後會過期。建議使用 TiDB Cloud 或 Supabase 等專用服務。
| 服務 | 免費配額 | 推薦重點 |
|---|---|---|
| TiDB Cloud Starter | 5GB(行資料)、MySQL 8.x相容 | MySQL相容,遷移簡便。可設定支出上限為$0 |
| Supabase | 500MB、PostgreSQL | 包含認證、儲存等功能。適合PostgreSQL用戶 |
| Neon | 0.5GB、PostgreSQL | Serverless PostgreSQL,分支功能方便 |
推薦:TiDB Cloud Starter
這是一個MySQL相容的DBaaS,5GB的免費配額比其他服務來得大,非常吸引。只需更改連接字串,即可從本地的MySQL進行遷移,因此設置非常簡單。
重要:設置支出上限為$0。 忘記這一點可能會造成超出免費配額後產生費用。
若想使用PostgreSQL,Supabase或Neon都是不錯的選擇。Supabase可以與認證及儲存功能搭配使用,作為BaaS的便利性較高。
| 服務 | 免費配額 | 推薦重點 |
|---|---|---|
| Upstash Redis | 256MB、每月50萬指令 | Serverless Redis。支援REST API |
推薦:Upstash Redis
提供免費配額的Redis管理服務相對有限,但Upstash每月可免費使用50萬指令。對於個人開發的規模而言,進行會話管理或快取使用上已經足夠。
我目前正在開發的「Roamble」Web應用程式的Beta版,採用了上述服務的組合,架構如下:
| 類別 | 服務 | 備註 |
|---|---|---|
| 前端 | Cloudflare Pages | 以 roamble.pages.dev 發布 |
| 後端 | Cloud Run(東京區域) | Dockerfile部署,使用免費配額 |
| 資料庫 | TiDB Cloud Starter | MySQL 8.x相容,5GB,支出上限$0 |
| Redis | Upstash Redis | 每月50萬指令,256MB |
選定的標準是「在Beta版期間需在免費配額範圍內」。最初構建選擇了Render,但出於響應改善的考慮,將後端切換到Cloud Run(東京區域)。在這種架構下,對於用戶數量較少的Beta版階段,完全可以無費用運行。
對於個人開發者的部署地點,建議選擇「可以在免費配額內開始,並根據需求擴展的服務」。
近年來,PaaS的免費配額越來越充裕,因此即使不使用AWS或GCP也能構建生產環境。如果你因「擔心雲端破產」而猶豫部署,不妨試試我在此介紹的服務。
最後,本文的信息是截至2026年3月的內容。各服務的免費配額及費率可能會頻繁變動,因此實際使用時請務必查閱官方網站的最新信息。
這就是我對個人開發者的部署地點推薦的介紹。希望能對大家的個人開發有所幫助。
最後,請允許我做個小廣告。
正如本文中所述,我目前正在開發Roamble這款Web應用程式。
Roamble致力於幫助「很想去新地方,但缺乏勇氣」的用戶,讓他們的每一步都轉化為經驗值的iOS應用程式。
應用將會推薦當前位置周圍的熱門景點,並藉由實際造訪來獲得經驗值,加入了遊戲化元素。
這款應用的Web Beta版正是通過本文中介紹的PaaS(Cloudflare Pages + Cloud Run + TiDB Cloud + Upstash Redis)搭建的,前端使用了React(TypeScript),後端使用Go進行開發。
目前我們正在全力以赴地進行Web Beta版的最後完善,計畫在2026/03/07正式發布。有興趣的朋友,請務必提前註冊以獲得訪問權限!