小故事
說來也算有緣,前幾天 Zeabur 的創辦人來福岡,剛好那陣子我很積極找人聊天、吃飯,有感而發在推特發文之後,受到演算法眷顧,剛好看到他在福岡的推文就順手追蹤了一下。於是 Zeabur 的創辦人就跑來推文下面留言,隔天直接約出來見面。
創辦人是一位資工系剛畢業的台灣人,我們約出來吃福岡的名物之一 — 水炊。當天與 Yuanlin 聊了很多,分享很多看法,是一次非常開心的交談。
可以感受得出來他已經很習慣與人交流了,就算是初次見面還是交換了很多蠻深蠻真誠的想法。當時我正在幫忙一家日本新創,他聽到目前的困難點之後也提出了可以怎麼合作跟優惠的方案。
這種先看看自己能幫上什麼的特質,是非常吸引我,也是我自己想要達到的狀態之一,就算吃一點虧也沒關係。
Zeabur — 一鍵部署你的服務
回到正題。
身為一位喜歡部署小東西的開發者,選擇在哪個平台部署是一大學問,原因之一在於開發者想要通常希望的是開箱即用的部署流程,力求快速上線而不是還要自己開個機器從頭設定。
這幾年裡我用過的部署工具跟雲端服務商很多,這幾年來我用過:
- AWS: 包含 EC2 跟 Serverless Function 等等
- GCP: App Engine、Cloud Run、Storage、Database
- Vercel
- Netlify
- Cloudflare
- DigitalOcean
- Railway
因此開發者想要怎樣的服務,我大致上都清楚。
今天主要是想要介紹 Zeabur,其他服務商的使用心得以後再慢慢跟大家分享!
就以我自己的使用體驗來說,一般雲端主機服務商的缺點有幾個:
1. 費用相對高
我在 GCP 開資料庫光是一個月就要 2000 多台幣。託管的好處是具備高可用性、備份、監控、logging、警告等等,省掉很多自己建構的麻煩。
但對於小服務來說,這些都是有折衷方案或甚至沒有也可以的東西,對彈藥有限的新創公司或獨立開發者來說,能省多少才是硬道理。
我自己認為除非是服務有特殊需求(高流量、並行處理等),不然很多時候機器沒有你想得那麼脆弱。
2. 服務之間的耦合不明顯
例如我的專案可能需要連接到資料庫、Redis、Kafka、RabbitMQ 等,在 AWS 或 GCP 當中需要到各個頁面查看而不是直接在專案頁面中;而像是 DigitalOcean 的話則是只給你機器,剩下的東西自己需要搞定,沒有介面可以一目瞭然。
3. 介面相對複雜
AWS 與 GCP 提供的服務太多了,大部分的獨立開發可能就是要台機器跟資料庫,頂多再加上 MQ 而已。但 GUI 上面充滿著各種雜訊,光是要開機器、看紀錄檔就要點來點去,還常常迷路。
寫到這裡,有人或許會反駁其實大部分的服務都做得到統一。是,都做得到,你要自己寫 API 搞一個後台也行、寫 Terraform 也行,但就是沒那麼方便,沒辦法做到開箱即用。
Railway
我在兩年前受到同事的推薦用了 Railway,我超級喜歡一試成主顧。Railway 主打便宜跟快速部署,實際上也真的不需要設定就可以把服務跑起來。
我自己有幾個非常喜歡的功能,像是專案當中可以自己定義 dev / staging / production 環境,支援從 template、docker 部署,也支援從 Github 連動,每次有新 commit 時就自動部署。這對我來說是最重要的事,直接省下寫部署腳本的成本,而是把更多時間花在程式碼上。
同一個專案當中,我可以部署資料庫、GitHub 的程式碼、Redis,而且專案與外部連接的關係是一目了了然的。
他的付費方案對開發者相當友善,五美金後升級到 Hobby plan,但如果使用量不到 5 美金的話就不收錢,可以理解成使用量不到五美金的話免費。
我的部落格資料庫現在就是用 Railway 的,每個月大約 3 美金左右就能搞定,主程式碼是放在 Vercel,畢竟目前 Next.js 整合最好的還是 Vercel,而且 Serverless function 都可以免費用,對部落格來說還是很方便,我的流量也遠低於免費額度。
Zeabur 介紹
對於已經感受過 Railway 方便性的開發者來說,一鍵部署已經司空見慣了,前面提到的支援從自定義的 Template、Docker 部署,也支援從 Github 連動,每次有新 commit 時就重新部署,這些 Zeabur 也有支援,不過我認為 Zeabur 還有更突出的地方。
以定價來說,雖然說在沒有超過免費額度的情況下,Railway 是可以免費使用的,但限制就是不能選擇區域,就網路速度來說比較近的機器速度還是有差。
而 Zeabur 則是每個月 5 美金(開發者方案),有免費 5 美金的額度,所以在用量沒有超過 5 美金的情況下就是每個月 5 美金。
跟 Railway 做比較的話,這裡有一張對照表:
Railway | Zeabur | |
---|---|---|
Memory | $0.000231 / GB / minute $10 / GB / month | 4 / GB / month |
vCPU | $0.000463 / vCPU / minute $20 / month | $0.0003 / vCPU / minute $12 / month |
Network Egress | $0.1 / GB | $0.1 / GB (前 100GB 免費) |
Volume | $0.2 / GB | $0.25 / GB |
可以發現 Zeabur 在定價上是優於 Railway 的,Network Egress 雖然定價一樣,但 Zeabur 有前 100GB 免費的額度。如果使用量超過 5 美金的話,用 Zeabur 會是更划算的選擇。
目前我的服務都只限於部落格與機器人,幾乎是不需要擔心 Egress 會爆表,不過如果是相對要求即時性的服務,或是操作大量集中於伺服器的服務,Egress 用量會是蠻重要的考量之一,也是比較難掌控的地方。
Zeabur 每個月有免費 100GB 的額度,這點對我來說是非常加分的!而且 Zeabur 有提供針對專案的預算控制,可以設定每個月不超過某個額度,一旦超過就自動停止服務來避免額外的支出。
1. 使用者體驗
Zeabur 建立服務的體驗很好,可以透過 GUI 建立資料庫、預先建構好的 Docker image、從 GitHub 連接或直接從本地拖拉檔案都可以。
建立好 Docker image 之後,可以直接在介面中加入環境變數。
2. 社群與事先構建的樣板
Zeabur 提供了各種事先建構好的樣板,例如使用 Wordpress 的時候我們可能希望連資料庫也一起設定好,這時候就可以使用 Zeabur 的樣板功能,裡頭有蠻豐富的樣板,當然也可以自己寫一套。
樣板的背後是 yaml 檔,不需要特別的格式。
3. 本地語言支援
開發者是台灣人,官方網站跟後台也都有支援道地的繁體中文,加入 Discord 的話也可以直接用中文開票溝通。
對已經習慣英文生態圈的開發者來說可能差別不大,但能直接用母語與客服溝通,那個感覺還是有差!
在 Discord 上可以看到 Zeabur 的開發者們很積極地與大家溝通並修正問題,由於 Zeabur 還是一個相對比較新的服務,大部分的情況下應該都能正常使用,但如果有問題的話也可以請他們幫忙,不需要再透過客服 → 開發者的橋樑,這點對一些人來說會是大加分。
3. 主機可以選擇不同的雲端服務商
Zeabur 開發者方案可以選擇 AWS 與華為的主機,AWS 主機的話有香港、東京、加拿大、德國可以選擇,Team Plan 的話可以選擇 GCP 的台灣地區,算是對市場在日本、台灣或中國的開發者來說很方便。
4. 可以連接自己的主機
根據 Zeabur 的文件來看,背後是使用 k3s 加上一些監控工具,所以理論上來說只要有機器,也可以透過 Zeabur 來 DIY 簡化自己部署的麻煩。
所以除了透過 Zeabur 來開機器之外,你也可以自己租用主機後,透過設定 SSH 的方式讓 Zeabur 幫你建立服務,簡單來說就是讓 Zeabur 幫你搞定部署相關的任務。
感想
Zeabur 雖然跟目前市面上的 PaaS 有一定的同質性,但整體來說我的使用體驗相當滿意,會在意一些網頁上的 UI 細節跟翻譯不完全,不過這些都算是雞蛋裡挑骨頭,相信會隨著時間改善的。
除此之外,Zeabur 的定價策略也比 Railway 便宜許多,算是獨立開發者在建立 MVP 時非常合適的平台。
還有像是可以整合自己的機器、選地區這一點,不難看出 Zeabur 想要走出一條不同的路,未來很期待發展,我也會把我接下來一些專案搬到 Zeabur 上面支持。
想要寫部落格、部署有資料庫、Redis 的服務等等,卻又不想付大筆的託管服務費用,可以考慮使用 Zeabur!如果是靜態網站,或是 Next.js 的話我自己反而還是會推薦 Vercel。
有興趣的話可以從我的邀請碼申請,如果升級到開發者方案,我這邊會收到五美金的額度,平衡一下伺服器的開銷,讓我有更多動力寫文章給大家!
另外比較進階的開發者,也可以考慮搭配 Cloudflare 使用,把 Proxy 跟快取交給 Cloudflare,應該會是蠻不錯的體驗。(如果 Zeabur 可以直接支援就好了😂)