簡易的低門檻自託管 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
查看全部
avatar-img
發表第一個留言支持創作者!
在網頁服務中資料庫擔任了很重要的任務,用來保存客戶的資料與提供分析的數據來源,而針對不同的需求會有各類型適合資料庫來負責。 這篇文章中會針對 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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
隨著全球數位化浪潮的推進,企業正面臨著前所未有的挑戰和機遇。數位轉型已成為企業保持競爭力的關鍵策略。在這個過程中,平台即服務(PaaS)作為一種強大的雲端解決方案,正在扮演著不可或缺的角色。本文將探討PaaS在數位轉型中的重要作用,並說明其如何幫助企業實現數位化目標。 簡化開發與部署 Paa
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
每天都在忙碌的工作之餘,最愛的放鬆方式就是逛逛網路商城~~ 但是,作為一個對技術有點小迷糊的我,當我得知有些企業和電商網站背後有一些神秘的開發工具時,我感到十分好奇。於是,我就開始著手研究這些開發工具,終於找到了其中一個我認為非常重要的——PaaS。 那麼,PaaS到底是什麼呢?其實,PaaS是
Thumbnail
可能包含敏感內容
這篇文章介紹了為什麼網站需要託管服務,以及Hostinger提供的各種託管計劃和優缺點。它強調了Hostinger的價格實惠、性能出色和用戶友好的特點。
默默覺得,要解釋 docker 與 VM 在執行方式上的差異,可以用水族箱來說明。
Thumbnail
前言 上次我們對 Docker 架構進行了講解,今天我們來講解 Docker 的好處,他到底可以幫助我們什麼事情 ? 為什麼 Docker 如此受人喜歡 ? 現在就來講述 Docker 有什麼好處 跨平台 Docker 可以確保在不同的作業系統是可運作的,可減少機器運作的問題 版本控制 打
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
隨著全球數位化浪潮的推進,企業正面臨著前所未有的挑戰和機遇。數位轉型已成為企業保持競爭力的關鍵策略。在這個過程中,平台即服務(PaaS)作為一種強大的雲端解決方案,正在扮演著不可或缺的角色。本文將探討PaaS在數位轉型中的重要作用,並說明其如何幫助企業實現數位化目標。 簡化開發與部署 Paa
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
本文介紹了 Docker 的基礎概念,以及在軟體工程環境中的運用。藉由 Docker 的容器化技術和映像檔技術,能夠實現開發和生產環境的一致性,並且支持負載平衡和無縫更新。此外,也提到了 Kubernetes 和 Docker Swarm 這兩個重要工具的用途和適用對象。
每天都在忙碌的工作之餘,最愛的放鬆方式就是逛逛網路商城~~ 但是,作為一個對技術有點小迷糊的我,當我得知有些企業和電商網站背後有一些神秘的開發工具時,我感到十分好奇。於是,我就開始著手研究這些開發工具,終於找到了其中一個我認為非常重要的——PaaS。 那麼,PaaS到底是什麼呢?其實,PaaS是
Thumbnail
可能包含敏感內容
這篇文章介紹了為什麼網站需要託管服務,以及Hostinger提供的各種託管計劃和優缺點。它強調了Hostinger的價格實惠、性能出色和用戶友好的特點。
默默覺得,要解釋 docker 與 VM 在執行方式上的差異,可以用水族箱來說明。
Thumbnail
前言 上次我們對 Docker 架構進行了講解,今天我們來講解 Docker 的好處,他到底可以幫助我們什麼事情 ? 為什麼 Docker 如此受人喜歡 ? 現在就來講述 Docker 有什麼好處 跨平台 Docker 可以確保在不同的作業系統是可運作的,可減少機器運作的問題 版本控制 打
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇