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

更新於 發佈於 閱讀時間約 5 分鐘
raw-image
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

raw-image

官方網站

  • 基於 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

raw-image

官方網站

  • 基於 Docker + Traefik
  • 不開源
  • 不可部署叢集
  • 僅可使用 Github、Docker hub
  • 穩定度尚待加強(在低負荷情況下,時常出現 html error 這樣的錯誤訊息)
  • 內建還不完善的監控機制(可以顯示每一個服務的 Ram 與 Cpu 用量,但數值不太精準)
  • 自動處理 ssl certificate
  • 個人評價: 未來可期

這是我在嘗試 CapRover 前使用的服務,這是一個很新的專案且他採用了隱藏很多細節設定的做法,讓剛接觸的工程師會很好上手,但這也導致了擴展性與自定義的受限。

我一樣 6 美元一個月的機器使用了在上面部署了 三台 PostgreSQL 一台 Line Bot 一個 Line 服務管理介面(.NET 6 最大上線人數 4 人),而大約每一個月會崩潰一次,但這是開發環境所以還能接受,而且經過頻繁的更新在使用的穩定度與資源消耗上也有顯著的降低,因此還是放在這裡推薦,未來可期。

總結

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

參考

CapRover

Easypanel

OKD

Porter

留言
avatar-img
留言分享你的想法!
avatar-img
Sponge | 一塊海綿的沙龍
6會員
10內容數
分享網站開發的前端、後端、資料庫與部屬維運技術,並記錄在工作上的心得
2023/02/20
Hhost 是一個基於 Hasura 並且整合了 Serverless、PostgreSQL、Auth、Storage 的一體化 BaaS 服務,主要的假想敵為 Firebase 而目標是將網站系統開發盡可能的精簡與可拓展化。
Thumbnail
2023/02/20
Hhost 是一個基於 Hasura 並且整合了 Serverless、PostgreSQL、Auth、Storage 的一體化 BaaS 服務,主要的假想敵為 Firebase 而目標是將網站系統開發盡可能的精簡與可拓展化。
Thumbnail
2023/02/18
在網頁服務中資料庫擔任了很重要的任務,用來保存客戶的資料與提供分析的數據來源,而針對不同的需求會有各類型適合資料庫來負責。 這篇文章中會針對 Row-Oriented (以列為儲存主體) 和 Columnar (以行為儲存主體) 的兩種資料庫來分析任務與資料庫間的合適搭配。
Thumbnail
2023/02/18
在網頁服務中資料庫擔任了很重要的任務,用來保存客戶的資料與提供分析的數據來源,而針對不同的需求會有各類型適合資料庫來負責。 這篇文章中會針對 Row-Oriented (以列為儲存主體) 和 Columnar (以行為儲存主體) 的兩種資料庫來分析任務與資料庫間的合適搭配。
Thumbnail
2023/02/17
Hasura 是一個開源、高性能、多資料來源與嚴謹權限控管的 GraphQL Engine Service。
Thumbnail
2023/02/17
Hasura 是一個開源、高性能、多資料來源與嚴謹權限控管的 GraphQL Engine Service。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
PaaS 是指平台即服務(platform as a service),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。
Thumbnail
PaaS 是指平台即服務(platform as a service),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。
Thumbnail
這篇分享希望能讓你了解 什麼Container、與Kubernetes和Docker是什麼關係,以及Kubernetes中又包含了哪些 組件?
Thumbnail
這篇分享希望能讓你了解 什麼Container、與Kubernetes和Docker是什麼關係,以及Kubernetes中又包含了哪些 組件?
Thumbnail
Kubernetes是什麼? 1. Kubernetes是Google嚴格保密十幾年的秘密武器——Borg的一個開放原始碼版本。 2. Kubernetes是一個開放的開發平台。 3. Kubernetes是一個完備的分散式系統支撐平台。
Thumbnail
Kubernetes是什麼? 1. Kubernetes是Google嚴格保密十幾年的秘密武器——Borg的一個開放原始碼版本。 2. Kubernetes是一個開放的開發平台。 3. Kubernetes是一個完備的分散式系統支撐平台。
Thumbnail
事情是這樣的,這個網站是用WordPress建置,本來放在GoDaddy虛擬主機上,當時的方案簽了三年,在大約一年半的時候,我決定把網站搬到SiteGround上。為了不讓GoDaddy的主機空轉,剛好我也想做些Side Projects,試著在網站上建立數據儀表板,GoDaddy的主機剛好可以拿來
Thumbnail
事情是這樣的,這個網站是用WordPress建置,本來放在GoDaddy虛擬主機上,當時的方案簽了三年,在大約一年半的時候,我決定把網站搬到SiteGround上。為了不讓GoDaddy的主機空轉,剛好我也想做些Side Projects,試著在網站上建立數據儀表板,GoDaddy的主機剛好可以拿來
Thumbnail
圖片來自 Shine With Sapphire (本文譯自〈Docker for PHP Developers〉) Docker 和 Vagarant 有什麼不同? 如果在每個專案同時運行多個容器(container)的情況下 Docker 比 Vagrant 好在哪裡?會比用 Vagrant 同
Thumbnail
圖片來自 Shine With Sapphire (本文譯自〈Docker for PHP Developers〉) Docker 和 Vagarant 有什麼不同? 如果在每個專案同時運行多個容器(container)的情況下 Docker 比 Vagrant 好在哪裡?會比用 Vagrant 同
Thumbnail
圖片來自 Docker (本文譯自〈Docker for PHP Developers〉) 哈囉!Docker Docker 是一個包含許多技術的概括性詞彙,它提供的工具可以幫助你把某個應用(application)的基礎架構(infrastructure)分離成數個邏輯模塊(容器),你可以只組合某
Thumbnail
圖片來自 Docker (本文譯自〈Docker for PHP Developers〉) 哈囉!Docker Docker 是一個包含許多技術的概括性詞彙,它提供的工具可以幫助你把某個應用(application)的基礎架構(infrastructure)分離成數個邏輯模塊(容器),你可以只組合某
Thumbnail
圖片來自 Vincent PONTIER (本文譯自〈Docker for PHP Developers〉) 數年以來我都用 Vagarant  管理本地的開發伺服器,根據 Vagrant 網站所述,Vagrant  是用於創建、組態輕量的(light-weight)、可重製的(reproducib
Thumbnail
圖片來自 Vincent PONTIER (本文譯自〈Docker for PHP Developers〉) 數年以來我都用 Vagarant  管理本地的開發伺服器,根據 Vagrant 網站所述,Vagrant  是用於創建、組態輕量的(light-weight)、可重製的(reproducib
Thumbnail
本文描述 Plesk / Cloudflare / Lightsail 混合架構下的一些好像很安全,令人感到安心的安全規劃。
Thumbnail
本文描述 Plesk / Cloudflare / Lightsail 混合架構下的一些好像很安全,令人感到安心的安全規劃。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News