很多站長對于云主機、VPS、虛擬主機之間的區別都不知所以,很多解釋這些概念的文章也經常出現各種錯誤,使得這些概念經常被混淆。所以服務器之家寫一篇闡述它們區別的文章。
VPS
VPS(Virtual Private Server),中文名稱是虛擬專用服務器。詳細的定義可以去看維基百科 - VPS。通俗點講,就是在一臺大型的獨立服務器上,通過一定的技術(如虛擬化或者容器化)和一定的軟件(VMWare、Xen、KVM、OpenVZ),將這臺大型獨立服務器的運存、處理器、硬盤進行劃分成一個一個小的 VPS,每一臺 VPS 都可以分配到獨立公網 IP 地址、獨立資源和獨立系統配置,用戶可以安裝獨立操作系統、單獨對自己的 VPS 進行重啟和關機。
云主機
云主機我見過的常見的兩個英文縮寫是 CVM(Cloud Virtual Machine 騰訊云使用這個名詞) 和 ECS(Elastic Compute Service 阿里云和華為云使用這個名詞)。
理解云主機的概念,就必須拋開一臺獨立的大型服務器的概念,而要明白一個概念——算池。
以阿里云為例。阿里云在國內很多地區都建設了數據中心,在數據中心中所有服務器都是內網互通的。在數據中心里有專門負責存儲的機器,配備有大型 HDD 和 SSD 組成 RAID 存儲陣列,這些機器組成存儲池;有專門負責運算的機器,根據不同的需求有不同的配置(如多核 CPU、強勁的 GPU 和大運存),這些機器組成運算池;有專門進行網絡分配和調度的交換機,組成了虛擬網關。
當然,這些算池還會往下細分、以便在不同業務的不同需求中完成調度。
VPS和云主機的區別
可用性
從可用性來講,VPS 的可用性是要低于云主機的。VPS 的宿主機一旦出現軟硬件故障,就會影響到上面的虛擬出來的 VPS。而在云計算池中,如果算池中的某個部分甚至一個物理單位出現故障而離線,大部分情況下都可以由算池中其它部分接替工作,所以云計算一般不會出現整個服務出現大規模故障的情況。
靈活性
以升級你的主機配置為例。VPS 升級配置需要先關閉你的 VPS,然后分配更多的 CPU、運存和硬盤給你的 VPS;雖然 VPS 的宿主機可能有足夠強勁的配置,但是一旦你的需求在你目前的宿主機上無法得到滿足,你就有可能需要讓主機商將你的數據轉移到另一臺宿主機上重新分配資源虛擬出一個 VPS。而對于云主機,升級配置只需要從算池中分配給你更多的資源即可,非常靈活。
這些就是阿里云、騰訊云、美團云這類云計算創立的初衷——把平時業務較少時從算池中將閑置的算力拿出來賣錢。所以會有這么一句很有意思的話——“雙十一期間,你的阿里云主機隔壁就有可能是淘寶的后端服務。”
性能
通常情況下,云主機的性能會比 VPS 差很多,在 IO 性能表現的尤為明顯。整個算池分工明確,所有算力都通過內網傳輸,內網的傳輸速度是遠遠不如單一硬件設備之間傳輸的。舉例說明,阿里云的 IO 性能平均為 120M/s,而較好性能的宿主機上的 VPS 的 IO 性能可以達到 1G/s 。
實際上對于一般情況,云主機和 VPS 的性能的區別是感覺不明顯的;VPS 的可用性和 SLA 也不會遜于云主機。在實際的使用體驗和操作中也并不能感受到云主機和 VPS 之間的區別;具體如何選擇還是要根據自己的業務需要和預算。