私有雲 vs 虛擬私有雲 哪個比較好?
私有雲這邊是指自己架設一個雲端在私人的機房,也許只有一台電腦,也許有很多專業主機。虛擬私有雲指的是架設在Google Cloud、AWS、Azure上,經過軟體的防火牆進行安全性的控管與阻隔外界對於一些不想被入侵的服務存取權限。
先說上面不是AI寫的,雖然我發現文筆用字正確會被檢測成疑似AI產生的文字。
本文章不討論沒有VPC(虛擬私有雲)的公有雲運用,因為與實體自己架設的私有雲沒有對等安全性設定功能。
私有雲優缺點
私有雲的優點第一個就是不用一直付雲端費用給雲端平台,但真的比較省嗎?要看實踐的內容。如果是公司內部用的軟體,比如說ERP軟體或者CRM軟體。只有少數時間需要外部存取,那私有雲一定比較省。
因為虛擬私有雲的規格2 vCPU,如果是Windows的費用就可以比上一台12核心的組裝主機在自己的機房裡面跑的成本。不考慮機器購置和Windows授權和MS SQL授權。
但MS SQL和Windows的授權如果長期看下來也是私有雲較省,虛擬私有雲微軟收取的授權費不是開玩笑的。
所以如果要用MS SQL Standard版本以上的建議直接買地端版的然後就架在實體的私有雲上面。因為一個月300~5000USD的資料庫授權費用不是開玩笑,還不算運行的VM費用。
然後實體私有雲的好處是空間成本便宜到炸掉,4TB的SSD硬碟大概在雲端只能租用1TBGB的空間不到一年左右而已。像我們下一代產品有提供影片上傳功能,1TB一下就用掉,如果在虛擬私有雲上面一定費用炸掉。
還有GPU的部分,一台GPU Server絕對比起在雲端租有GPU的VM來的經濟實惠,長期算下來一定是這樣。如果像我們要有影片轉檔功能,就要GPU。
都在說優點,那缺點呢?
缺點就是硬體會折舊、有電費與維護成本考量,還有再來就是實體私有雲沒辦法做彈性的水平縮放。
這對很多如電商、遊戲公司來講絕對不划算,反而虛擬私有雲會比較划算。
虛擬私有雲的優點
光是機房幾乎不會斷電就是超大優點,可選擇高可用性(跨地區的分散風險)也是優點。
雖然是軟體的防火牆,但基本上基礎建設沒有多少人攻破得了,只要設定的好,跟雲端的區域網路一樣。
要建立一台虛擬機器只要幾分鐘的時間,要設定一個資料庫也只要10多分鐘的時間就可以啟動。
部署程式也不到10分鐘就可以部署到虛擬機、Cloud Run或者Kubernates的叢集上面。
如果不選擇Microsoft系列的話是不用考慮授權費用,除非要挑Red Hat之類的Linux。
缺點就是要一直付費給雲端平台了,且成本計算要計算的很確實,不然公司的錢被吃最大的就是在雲端上。
然後資源要怎樣最佳化也是一門學問,怎樣用最小的規格做最大的事情?這樣才可以賺最多啊!
虛擬私有雲實例
虛擬私有雲相對的入門門檻較高,需要有一個雲端架構師,或者自學成雲端架構師(像我花兩個月惡補成初級到中級的雲端架構師,只是懶得考證照),才有辦法應付雲端的各種問題,還有規劃雲端哪個要接哪裡,哪個要躲起來。
比如我們前一個系統就是用虛擬私有雲(現在還Live中),Cloud SQL設置躲在Shared VPC後端,Cloud Run是對外但透過Serverless VPC Connector做到可以加上Cloud Router和Cloud NAT設置對外固定IP(讓客戶設定防火牆例外),與用Serverless VPC Connector連結Shared VPC內部的Cloud SQL。
而Cloud SQL本身完全擋掉所有網際網路的流量,就像躲在區網裡面的SQL Server一樣,Angular架設在Firebase Hosting上,使用多少付多少,沒有固定的每月金額。
公開的就只有:Angular程式和Cloud Run C# Web API,中間用JWT加上一些自定義的安全Token避免API被攻破。Cloud SQL是不對外,因為Shared VPC可以跨專案,所以要建立Dev的環境也可以很容易的設定在同一個VPC以內。
我們沒有用Windows VM,這樣成本最低可以降在120 USD一個月以內,因為水平擴充很強,所以同時來1000個Users一起使用我都不怕Cloud Run爆掉。Cloud SQL可能會爆炸就是了,但只要Upgrade SQL版和VM大小就好,有設定警示CPU使用量超過80會簡訊通知我。
一年大概 4000 USD的成本,是比實體私有雲高,但又要可以未來水平擴充的情境,實體私有雲完全做不到。還有就是99.9%的SLA實體私有雲很難辦到,因為實體只要機房或辦公室一停電,就停擺了。
實體私有雲實例
現在開發的系統因為有企業內部機密資訊,因此客戶不會相信我們協助架設在Google Cloud上,可能資訊就價值整個企業的價值,簽保密合約也不會有人願意使用虛擬私有雲。
這種時候就要客戶的網管架設實體私有雲。
實體私有雲可以簡化到以下:
一台主機裝MS SQL Server Standard或者Express都行,如果是Enterprise更好,一定是使用SSD硬碟(很難想像這年頭不用SSD),其實可不用專業主機,直接組裝一台Intel i9的主機就好了,甚至也不用Windows Server,只要SQL Server可以Run就行。
一台主機使用IIS等可以跑C# Web API,可考慮Windows Server因為安全性較高,這台可能會對外,也不一定要用專業主機,考慮到有影片轉檔,可以用組裝電腦加Nvidia的獨立顯卡,但要注意與Windows Server的驅動程式相容性。
兩台電腦可以合併成一台節省成本,但分開兩台比較安全。
然後因為不是超大流量所以不用Load Balancer之類的,直接一個較好的Router,硬體擋掉所有外部的流量。
然後只留HTTPS的Port對外,指向IIS的那台主機,或者用別的網頁伺服器也可以,但我發現客戶MIS多半對IIS比較熟。1433端口也是要擋掉,這樣就不會SQL Server被掃瞄攻擊,或者DDOS。
租一個網域,把Subdomain指向HTTPS的IIS,Angular和C# Web API放那邊。`
這樣估計硬體10多萬(如果伺服器合併一台只要10萬有找),軟體10萬有找,成本20萬左右,可以在未來5~10年都不用更新硬體設備,除非有故障。
假設電費1小時花1度電5元新台幣好了,一個月3600,假設固定IP網路一個月加總7000元新台幣。
這個成本初期是比虛擬私有雲高,但規格高很多。虛擬私有雲同規格可能一個月要吃掉1000~3000 USD,算3年以內就超過實體私有雲的成本。
結論
以上大概講了一下兩種情境,實體私有雲有它的好處,且真正成本要最低要挑這個,但SLA保證與水平擴充就辦不到了。
如果要比較有規模的實體私有雲,初始成本會高到20萬左右,是一筆不小數目,但長久算下來虛擬私有雲會比較貴。
可是這邊沒提到,虛擬私有雲在硬體升級或者軟體升級只要透過控制面板,實體的私有雲5年後如果硬體老舊要換,又要採購硬體,買Windows Server,還要買MS SQL Server。
這兩種都各有好壞,這邊大概只是分享一下實例與一些看法。