iT邦幫忙

1

請問高流量網站前面為何不要套用 Control Panel?

web

看到一位大神的話

夭壽喔......想做高流量網站, 前面還套個 Control Panel 幹嘛? (我不是說 Plesk panel 不好喔, 我個人覺得他比 cPanel 好很多, 我自己也給客戶用)
你套了 Panel 要怎麼做 Scale-out?
這代表你還是用 IDC Share Hosting 的觀念在設計架構 (其實這樣代表你根本沒在設計架構, 因為架構是被 Panel 控制住的, 你也沒得調整)
假設這個資訊為真的話, 代表開發團隊沒做過高流量網站, 或是他們以為: 把 Shared Hosting 那套, 放大 CPU/RAM 就可以應付高流量了.....
從上線人數來看, 很顯然他們已經遭遇 C10K 問題....

xxx

晚進對以下名詞搜尋過一次,假如有錯麻煩大神告知

  • x-powered-by-Pleskwin : PleskWin : Plesk面板的網站在Header信息裡會有X-Powered-By標籤,Plesk與cPanel是世界上最受歡迎的虛擬主機控制面板
  • Control Panel : 這裡指的是Plesk虛擬主機控制面板
  • Scale-out : 一旦容量、資源不夠了,再購置一台接到原有伺服器上
  • IDC Share Hosting : 查了google前三頁,還是沒頭緒IDC是啥縮寫 ="=

想請問為何有 control Panel 就無法 Scale-out?


更新

IDC Share Hosting = Internet Data Center Shared Hosting = 網路數據託管
備註 :

# Colocation 託管
優點:
- 所有硬體和軟體的完全擁有權。
- 完全控制硬體和軟體配置。
- 使用資料中心 IT 基礎設施和安全性。
- 帶寬大於在辦公環境或共用 Web 託管帳戶中可實現的頻寬。
- 降低網站停機或網路漏洞的風險。
缺點:
- 初始投資成本高昂。
- 使用者負責更新、升級和維護。

# Web hosting 網路託管
優點:

- 適合小型企業和初學者的經濟高效的託管。
- 對硬體的維護不承擔任何責任。
- 即時可擴充性。

缺點:
- 沒有 IT 裝置的擁有權。
- 缺乏對硬體和軟體的完全控制。
- 可能需要與其他使用者分享伺服器空間(取決於託管解決方案)
- 為企業選擇正確的選項,真正取決於那些負責人希望對伺服器擁有多少控制權,以及託管公司能否滿足其精確要求。

參考來源 : https://virtusdatacentres.com/item/354-what-is-the-difference-between-colocation-and-web-hosting

wolfwang iT邦新手 3 級 ‧ 2020-09-02 09:36:28 檢舉
IDC(Internet Data Center)
wolfwang iT邦新手 3 級 ‧ 2020-09-02 09:41:26 檢舉
高流量網站採 Scale-out 策略,基本上是每一台 server 就是要做到無狀態,也就是我複製出一台原來在跑的 server 接上去,不會產生使用者在在 A Server 的時候,卻讀不到 B Server的資料,像使用者上傳的檔案、資料庫、快取機制,都應該要拆分出去。

而使用 Control Panel 的,通常就是一大包東西包在一台 server 上,複製出另外一台的話,狀態各自保管,就做不到 Scale-out。
原來如此,請問 wolfwang 大神能底下留言嗎
14
raytracy
iT邦大神 1 級 ‧ 2020-09-02 10:45:04
最佳解答

https://www.facebook.com/groups/rayforum/permalink/3231503126929823/
FB 上面不方便寫長篇論述, 我就記錄在此...
先了解一下 Control Panel 的用途, 這是用來:

給主機託管商, 將一台 Host 切割成多個可託管的網站空間, 所使用的一個管理工具.

為了維持同一台主機內, 各客戶空間的隔離安全性, Panel 會接管主機內所有的 config 設定, 每一個網站空間的客戶, 僅能做到 Panel 所允許的有限度控制, 不能像一般主機管理員一樣, 自由的去調整所有主機設定, 以免影響同一主機內的其他客戶.

這裡有一些透過 Panel 技術銷售的主機空間:
https://host.com.tw/host/virtual
https://www.pumo.com.tw/www/hosting/linux.jsp
這類網站空間的特色就是: 便宜, 因為她把一台 Host 主機切割成數百個空間, 所以每一個客戶的成本, 可以均攤到幾百分之一而已...

一台高階主機如果要價 20 萬, 切割成 100 個空間, 一個客戶只要負擔 $2,000 元, 分三年折舊, 每年不到 $700 元, 再除以 12 個月, 託管商每個月只花費不到 $60 元的成本, 就可以賣你 $xxxx....這是利潤非常高的生意....

(看到這裡, 你可以對館長的網站設計外包提出疑問: 都願意付你幾百萬了, 為何還要在主機空間去省這個小錢? 然後把自己給搞死?...這是決策有問題, 不只技術問題)

主機託管商本身, 不見得具備高度的維運管理能力, Panel 供應商為了提供業主技術上的便利, 通常也會同時接管許多維運上的設定, 甚至將相關的 config 位置改變, 以免託管商業主自己不懂, 誤改了某些設定, 造成 Panel 掛掉要 Call 客服..

換句話說, 用了 Panel, 你就對主機失去控制權, 不論是託管商業主自己, 還是租用每一個空間的客戶. 但是 Panel 是過去 30 年來, 託管業普遍採用的一個方案, 因為她:

  1. 業主本身不需要很深的技術就能夠經營託管
  2. 一台主機可以被分割出數百甚至數千個網站
  3. 極低的軟硬體成本, 就可以賣出數千個空間

一路走來, 網站空間託管型態蓬勃發展, Panel 功不可沒....但對於需要精細調整各項資源的高流量網站來說, Panel 是一個非常大的阻礙, 原因是:

Panel 本身非常龐大

以 Plesk Windows 為例, 他自己本身的系統, 就要用掉: 九千多個資料夾, 五萬多個檔案 (這還沒有計入租給客戶的空間喔!!租用空間是額外獨立使用的儲存區):
https://ithelp.ithome.com.tw/upload/images/20200902/20026603uEtnIuXdAm.png
搞不好你寫的全部網頁程式, 都還沒 Panel 本身龐大...

而且通常 Panel 需要一個自帶的資料庫, 來儲存他的相關設定. 在 Windows 上面, 即使你裝了 MS-SQL, 或者給他一個外部遠端的 SQL, Plesk 仍然要求在本機內, 安裝一個 MySQL 給他自己專用, 裡面儲存了每一個網站空間的相關設定....

功能越強大的 Panel, 他需要的資源就越多.

Panel裡面的功能非常多, 不是只有網站空間而已, 還有: DB 管理工具, Email 伺服器, DNS 管理, FTP 管理, 帳號管理, 甚至可以在一台主機內, 區分不同的經銷商, 分別劃出不同的代理銷售區塊:
Web hosting control panel
Comparison of web hosting control panels

但對於高流量網站說, 這些功能都應該各自獨立出來用不同的主機執行, 不需要被塞在同一台主機內, 每台主機只需要單純的網站就好了, 所以 Panel 對高流量網站等於是廢物....

如果你的網站需要做到 Scale-out, 代表單機效能已經不夠你用了, 為何還要背一個這麼龐大的系統在背上, 然後再來抱怨說跑不動呢? 把它拿掉不就輕量很多了嗎?

Panel 功能只考慮單機

由於歷史發展的因素, Panel 主要用途是供給單機 Hosting 業主切割空間用的. 但若是館長這種網站, 一台主機內只跑一個網站, 購物網又不需要分租主機空間給不同客戶 (自己吃都不夠用了, 還想分給別人?), 多裝一個用來切割空間的 Panel 是來跑辛酸的嗎?

然後因為她只為單機設計, 所以當你 Scale-out 的時候, A 機的設定不會自動複寫到 B 機去, 即便 Web file 可以掛載共用儲存空間, 但是 Panel 用來儲存設定的 MySQL 是各自獨立的. 所以當你 Scale-out 生出更多機器的時候, 要花多少時間去調整這些不同 Panel 之間的資料同步問題?

通常 Scale-out 一台新主機的時間, 頂多只有 60 秒就要能夠上線, 甚至會在數十秒內, 快速產出多台主機; 光是要調上面那些設定, 產出時間就已經不及格了....

使用 Panel 並不是罪大惡極, 對於沒有 Sysadmin 管理能力, 無法獨力管理雲的網頁設計公司來說, Panel 帶給他們很大的便利性; 對於沒有 Infra 技術管理能力的託管商來說, Panel 帶給他們很大的變現性, 兩者互蒙其利, 但是請記得.....他是設計給單機用的, 很難 Scale-out.....

高流量網站應該要設法將每一個主機 (Instance) 縮到最小規模, 才能夠在短時間之內, 快速啟動多台來應付.

用物流中心的例子來想像: 如果你有一萬家分散四處的客戶要送貨, 你會派 10 台貨櫃車出去? 還是派 100 輛小貨車出去? 哪一種效率比較好? 而且更容易因應各類不同的塞車狀況去調度?

管理 10 台貨櫃車 vs. 管理 100 台小貨車, 調度台可以用相同的方法去派車嗎? 把小貨車的派車邏輯套給貨櫃車用, 肯定會出大亂子; 反過來則可能效率不彰....

同上, 不同的網站, 有不同的調度方法, 不能一體適用....這是屬於 Infra/SRE/Sysadmin 的技術與管理範疇, 一般開發程式的工程師通常不太會去鑽研....

看更多先前的回應...收起先前的回應...

感謝 raytracy 大神!!
小小菜鳥總結 :
Panel是已經切割好的空間,又沒有像其他雲平台可以彈性增加server,造成館長網站受限於單機系統,所以他們花費大的原因在一直加大RAM或是CPU

ckp6250 iT邦研究生 1 級 ‧ 2020-09-02 11:20:08 檢舉

請問雷大,
那我在 GCP 上租了一個 VM 機,以 GCP 的角度來看,它也是把一台硬體切割成很多單位出租,這是否也是它的一種 Control Panel ?

raytracy iT邦大神 1 級 ‧ 2020-09-02 11:50:17 檢舉

ckp6250
不是....我知道這很難理解, 但我們把雲上面託管的每一個 Instance 都視為一台獨立主機, 而不是被 Panel 切割的部分空間...

因為你可以控制它裡面的 OS/所有檔案和設定: 你可以調整 Kernel 內部的參數, 可以調整 Swap 大小, 你可以隨意開帳號, 隨意設定防火牆/NAT/Rule, 隨意安裝軟體套件, 甚至在上面 Compile 自己的程式, 把 ulimit/nofile 開到無限大, 隨便調 tcp window size....不高興還可以整台洗掉重裝...

你去託管商的 Panel 做上面這些事情看看....一件都辦不到...

公有雲的 Instance 是整機交給你控制;
託管商的出租空間只能讓你控制一小部分

一般 IDC 託管商除了 Shared Hosting 之外, 通常也會提供如同公有雲的 VM Instance, 它們稱為 VPS 主機, 以下是上面兩家廠商提供的 VPS 品項:
https://host.com.tw/host/vps/HiNet%E9%A0%BB%E5%AF%AC%EF%BC%8C%E5%85%A8SSD%EF%BC%8CVPS%E4%B8%BB%E6%A9%9F

https://www.pumo.com.tw/www/cloud_vm.do?mode=specPrice

有趣的是, 很多銷售 VPS 的頁面, 你都會看到一個選項, 問你要不要加購類似 cPanel/Plesk 這樣的面板授權, 讓你安裝在 VPS 內.

這是因為某些設計公司會買 VPS 再分割成多個空間, 租給不同的客戶. 他們為了管理方便, 就學託管商那樣, 自己用 Panel 來管理. 這就像是, 買一整棟透天, 把它分隔成多間套房出租....

如果你在公有雲上面買 Instance 之後, 自己安裝 cPanel/Plesk 的話, 那個效果就跟上面是完全相同的...

ckp6250 iT邦研究生 1 級 ‧ 2020-09-02 14:30:25 檢舉

raytracy

感謝雷大的細心指導,明白了。

我在 GCP 上租的 VM,我也有安裝Plesk,我只是圖它管控站台方便而已,沒多想別的。

不過,我不知道它會吃掉【九千多個資料夾,五萬多個檔案】哩,好可怕呀!

raytracy iT邦大神 1 級 ‧ 2020-09-02 14:39:30 檢舉

如果你有多個網站要在一個 VM 內同時管理, 用 Plesk 是很好且方便的選擇 (至少比 cPanel 要安全....), 所以我並不否定 Panel 的存在價值, 只是要用對地方...

2
一級屠豬士
iT邦大師 1 級 ‧ 2020-09-02 09:35:23

你先把基本的操作,指令,這些慢慢學好.對你會比較好.
有些東西,現在問,說了你也是模模糊糊的.

請問這塊大神有何推薦的書籍、課程、方向嗎? 我去買

你先把鳥哥的書看完吧.好好練習.

2
japhenchen
iT邦大師 1 級 ‧ 2020-09-02 13:21:22

如果你的生意一天就兩三千現金收入,你會想自己開超市?還是擺夜市?

答案出來了

好比喻!

我要發表回答

立即登入回答