簡易的低門檻自託管 PaaS 選擇- CapRover、Easypanel

閱讀時間約 4 分鐘
PaaS 是指平台即服務(platform as a service),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。

為什麼會需要 PaaS

當工程師寫好了程式碼,我們會需要找一台伺服器部署他們。 而隨著服務的增加會有如 不同語言間的部署方式差異、單一伺服器不足以支撐用量...等越來越多的因素要考慮,但量又還沒那麼大所以不足以僱傭專門的 SRE 或是 Devops 來搭建環境,這時 PaaS 的出現解決了這樣的問題,通常具備串接 Github、Gitlab、Docker hub 與解析 Dockerfile 和透過 Buildpacks 解析你的程式並且部署的能力,讓開發人員可以專注在應用的開發上。
而這樣的服務是會有代價的,對於個人用戶或小型新創來說每一個服務的價格相較直接部署在伺服器上是昂貴的,導致部分公司在選型時只能忍痛放棄這些好處而處於混亂的部署環境中。

獲得 PaaS 的好處與單純租用伺服器的價格

這時就有一種產品推出了,就是可以自行搭建的 PaaS 服務,本次介紹的兩個服務都是基於 Docker 且在我的公司都經歷過半年的測試比對的 PaaS 服務。
這類服務的做法是安裝在你租用的主機上,而由他代為管理並提供 PaaS 所有的一切服務,包含串接 Github、Gitlab、Docker hub 與解析 Dockerfile 和透過 Buildpacks 解析你的程式碼,而由於他是建立在你的伺服器上所以並沒有額外的費用,很適合個人與剛起步的小型新創。
但要注意的一點,同時壞處也是部署在你的伺服器上所以會需要關注 Ram、Disk、Cpu...等等是否超過使用量而影響穩定,無法完全無視基礎建設,但對於個人與剛起步的小型新創來說不是問題,等到業務成長後再搬移也是一個好選擇。

CapRover

  • 基於 Docker + Nginx
  • 開源
  • 可叢集拓展 (相依於 Docker Swarm)
  • 多種部署來源 Github、Gitlab、Docker hub、手動上傳
  • 穩定性高 (持續高負荷使用半年沒有任何異常)
  • 內建監控機制 (內建 NetData)
  • 自動處理 ssl certificate
  • 個人評價: 十分推薦
這是一款非常適合個人專案與小型新創的服務,在我的用例中我使用了 digitalocean 6 美元一個月的機器部署了一台 PostgreSQL、一台 MySQL、一個 Wordpress 官網、一組 SaaS 服務(.NET 7 撰寫平均十個租戶最大上線人數 300 人) 有啟用 2GB 的 Swap,這樣的使用情景相信是很多新創或個人網站的需求,而只要 6 美元的價格就可以撐住這樣的服務量級是很吸引人的,當後續流量提升時可以透過 Docker Swarm 來拓展叢集而如果資料庫 I/O 吃重也可以連接服務器提供商的 RDS 服務,有著成長的可能性。

Easypanel

  • 基於 Docker + Traefik
  • 不開源
  • 不可部署叢集
  • 僅可使用 Github、Docker hub
  • 穩定度尚待加強(在低負荷情況下,時常出現 html error 這樣的錯誤訊息)
  • 內建還不完善的監控機制(可以顯示每一個服務的 Ram 與 Cpu 用量,但數值不太精準)
  • 自動處理 ssl certificate
  • 個人評價: 未來可期
這是我在嘗試 CapRover 前使用的服務,這是一個很新的專案且他採用了隱藏很多細節設定的做法,讓剛接觸的工程師會很好上手,但這也導致了擴展性與自定義的受限。
我一樣 6 美元一個月的機器使用了在上面部署了 三台 PostgreSQL 一台 Line Bot 一個 Line 服務管理介面(.NET 6 最大上線人數 4 人),而大約每一個月會崩潰一次,但這是開發環境所以還能接受,而且經過頻繁的更新在使用的穩定度與資源消耗上也有顯著的降低,因此還是放在這裡推薦,未來可期。

總結

其實還有很多用過的 PaaS 沒講到,如 OKDPorter 但其他我認為不夠輕量與便宜,因此暫時沒有講到,當在業務拓展時緩慢選用更適合的技術是合理的,這裡先介紹新創較為適合的服務而往後在介紹當量及提升時有哪些服務可以更簡單管理與提高穩定度。

參考

分享網站開發的前端、後端、資料庫與部屬維運技術,並記錄在工作上的心得
留言0
查看全部
發表第一個留言支持創作者!
在網頁服務中資料庫擔任了很重要的任務,用來保存客戶的資料與提供分析的數據來源,而針對不同的需求會有各類型適合資料庫來負責。 這篇文章中會針對 Row-Oriented (以列為儲存主體) 和 Columnar (以行為儲存主體) 的兩種資料庫來分析任務與資料庫間的合適搭配。
Hasura 是一個開源、高性能、多資料來源與嚴謹權限控管的 GraphQL Engine Service。
Neon 是基於 PostgreSQL 的 Serverless Database,具備了 Serverless 帶來的高乘載量、划算的費用與 PostgreSQL 強大的效能的一款開源資料庫服務。
Discord Bot 就是在 Discord 群組中可以回話與管理群組成員的機器人,依據開發者的設計能有不同的功能,這篇文章想要教的是如何向 Discord 申請一個自己的 Bot,日後才會介紹如何開發自己想要的功能。
不論是 GraphQL 與 RESTful API 都需要生態系的支撐,才會好用與完整 這篇會先介紹 GraphQL 的生態系工具。
這裡會針 GraphQL 與 RESTful API 這兩者介面所需要做的事情來比較其應用的場景。
在網頁服務中資料庫擔任了很重要的任務,用來保存客戶的資料與提供分析的數據來源,而針對不同的需求會有各類型適合資料庫來負責。 這篇文章中會針對 Row-Oriented (以列為儲存主體) 和 Columnar (以行為儲存主體) 的兩種資料庫來分析任務與資料庫間的合適搭配。
Hasura 是一個開源、高性能、多資料來源與嚴謹權限控管的 GraphQL Engine Service。
Neon 是基於 PostgreSQL 的 Serverless Database,具備了 Serverless 帶來的高乘載量、划算的費用與 PostgreSQL 強大的效能的一款開源資料庫服務。
Discord Bot 就是在 Discord 群組中可以回話與管理群組成員的機器人,依據開發者的設計能有不同的功能,這篇文章想要教的是如何向 Discord 申請一個自己的 Bot,日後才會介紹如何開發自己想要的功能。
不論是 GraphQL 與 RESTful API 都需要生態系的支撐,才會好用與完整 這篇會先介紹 GraphQL 的生態系工具。
這裡會針 GraphQL 與 RESTful API 這兩者介面所需要做的事情來比較其應用的場景。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
南投草屯九九峰山下有一座低調卻又充滿神秘色彩的私人美術館,不仔細找很容易錯過、需要事先預訂才能參觀,一進去彷彿進入另一個世界般充滿多種樣貌的毓繡,久久讓人沈浸在這每一處都是藝術的氛圍當中。
全台各地擁有許多浪漫的歐式建築,充滿異國感的風格造景不但好拍,更讓人有種出國度假的錯覺,想造訪的旅人別錯過以下10大城堡美拍景點! 1. 珍朵絲特X佐登妮絲城堡 「佐登妮絲城堡」以充滿典雅浪漫氛圍的巴洛克式建築構成,綠建築園區共占5萬坪,不僅有全台最大的歐式城堡,更結合多種文藝復興
Thumbnail
腸道菌相(腸道微生態)是指存在於人體腸道中的各種微生物的集合體,包括細菌、真菌、病毒等。腸道菌相的平衡對於維持身體健康和免疫系統 正常運作至關重要。如果腸道菌相失衡,可能引起一系列問題: 消化問題: 失衡可能導致消化不良、腹瀉、便秘等問題。 免疫系統異常: 過度活躍或不足,增加患上過敏、自體免疫
Thumbnail
最近冬天到了,因為有些油放置較久,就準備消耗一些,幫家中長者製作一種全身萬用膏。濃度7%,不可以用於臉部。但這次算下重本,主要是最近常有小傷口,有龜裂皮膚,冬季癢等狀況均可以使用。 家中可以常備這樣的萬用膏,主要可以適用在各種身體的皮膚狀況。藉由這次製作順便分享裡面成分的功能給大家酌情參考。
Thumbnail
很多人喜歡吃雞塊,但雞塊除了外皮要裹上一層麵糊是高熱量以外,油炸的烹調方式也是高熱量,再加上市售的雞塊本身,為了口感好,還會額外添加一些玉米澱粉、樹薯澱粉和其他添加物等等,可想而知,雞塊的量熱和碳水真的超高。  繼「低醣雞肉水餃」之後,又做了「低醣雞塊」。自己製作的雞塊除了熱量低,少了市售的添加物
Thumbnail
愛自己美好狀態很容易,但在低谷很難。 曾經在低谷的時候,鑽牛角尖的想要找一個答案,然後想坐時光機回去,想改變過去的某個時間點,讓導致低谷的事件不會發生。 鑽牛角尖的過程有很多的怪罪,對自己的無能的生氣,然後反芻著那些情緒,以為是深刻的檢討,卻讓自己陷入了更深的懊悔。
明明好像沒做甚麼,每天卻活得很疲倦,然後陷入不能順利達成目標的自我厭惡循環,你有這樣的感覺嗎?我有,幾乎每天都有。疫情之後,陷入低潮期的頻率好像越來越高了,時常提不起勁。那該怎麼辦呢?這段期間,我是這樣自救的。 i. 接受低谷,接納自己 ii. 寫日記學會正面思考 iii. 訂立具體的一年目標和每月
Thumbnail
從零開始,永遠不是一件容易的事情有人覺得這很困難,亦有人覺得很容易,這其實是取決於究竟自己是以甚麼心態來對待,有些人可能已經找到一份薪高糧準的工作,不想跳出自己的舒適圈,若果從零開始的話,將會非常痛苦;亦有些人會抱著終身學習的心態,不介意辛苦,只要是對自己身心有益的,便毫不猶豫去做。但是,如果以第三
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
南投草屯九九峰山下有一座低調卻又充滿神秘色彩的私人美術館,不仔細找很容易錯過、需要事先預訂才能參觀,一進去彷彿進入另一個世界般充滿多種樣貌的毓繡,久久讓人沈浸在這每一處都是藝術的氛圍當中。
全台各地擁有許多浪漫的歐式建築,充滿異國感的風格造景不但好拍,更讓人有種出國度假的錯覺,想造訪的旅人別錯過以下10大城堡美拍景點! 1. 珍朵絲特X佐登妮絲城堡 「佐登妮絲城堡」以充滿典雅浪漫氛圍的巴洛克式建築構成,綠建築園區共占5萬坪,不僅有全台最大的歐式城堡,更結合多種文藝復興
Thumbnail
腸道菌相(腸道微生態)是指存在於人體腸道中的各種微生物的集合體,包括細菌、真菌、病毒等。腸道菌相的平衡對於維持身體健康和免疫系統 正常運作至關重要。如果腸道菌相失衡,可能引起一系列問題: 消化問題: 失衡可能導致消化不良、腹瀉、便秘等問題。 免疫系統異常: 過度活躍或不足,增加患上過敏、自體免疫
Thumbnail
最近冬天到了,因為有些油放置較久,就準備消耗一些,幫家中長者製作一種全身萬用膏。濃度7%,不可以用於臉部。但這次算下重本,主要是最近常有小傷口,有龜裂皮膚,冬季癢等狀況均可以使用。 家中可以常備這樣的萬用膏,主要可以適用在各種身體的皮膚狀況。藉由這次製作順便分享裡面成分的功能給大家酌情參考。
Thumbnail
很多人喜歡吃雞塊,但雞塊除了外皮要裹上一層麵糊是高熱量以外,油炸的烹調方式也是高熱量,再加上市售的雞塊本身,為了口感好,還會額外添加一些玉米澱粉、樹薯澱粉和其他添加物等等,可想而知,雞塊的量熱和碳水真的超高。  繼「低醣雞肉水餃」之後,又做了「低醣雞塊」。自己製作的雞塊除了熱量低,少了市售的添加物
Thumbnail
愛自己美好狀態很容易,但在低谷很難。 曾經在低谷的時候,鑽牛角尖的想要找一個答案,然後想坐時光機回去,想改變過去的某個時間點,讓導致低谷的事件不會發生。 鑽牛角尖的過程有很多的怪罪,對自己的無能的生氣,然後反芻著那些情緒,以為是深刻的檢討,卻讓自己陷入了更深的懊悔。
明明好像沒做甚麼,每天卻活得很疲倦,然後陷入不能順利達成目標的自我厭惡循環,你有這樣的感覺嗎?我有,幾乎每天都有。疫情之後,陷入低潮期的頻率好像越來越高了,時常提不起勁。那該怎麼辦呢?這段期間,我是這樣自救的。 i. 接受低谷,接納自己 ii. 寫日記學會正面思考 iii. 訂立具體的一年目標和每月
Thumbnail
從零開始,永遠不是一件容易的事情有人覺得這很困難,亦有人覺得很容易,這其實是取決於究竟自己是以甚麼心態來對待,有些人可能已經找到一份薪高糧準的工作,不想跳出自己的舒適圈,若果從零開始的話,將會非常痛苦;亦有些人會抱著終身學習的心態,不介意辛苦,只要是對自己身心有益的,便毫不猶豫去做。但是,如果以第三