如何在公有雲上部署私有雲?阿里雲專有宿主機輕鬆搞定

  • 2020 年 4 月 15 日
  • 筆記
我相信看到這個題目很多人都會感覺好奇,怎麼可能同時是公有雲和私有雲?如果你有這個疑問,請你帶著這個問題把這篇文章看完。
如何在公有雲上部署私有雲?
一直以來大家都習慣於直接購買 ECS 實例,但是忽略了阿里雲的另外一種特殊的雲資源形態,那就是專有宿主機(Dedicated Host)。顧名思義,就是指一台物理伺服器(Physical Host)歸某一個單一租戶專有。這是一個非常有別於傳統公共雲「多租戶」的概念,所以有用戶才說:專有宿主機就像是一朵公有雲上的私有雲。
 
 

 

 

 
為什麼需要在公有雲上部署私有雲?
讓我們先從私有化部署(on premise)說起,傳統的 IT 部署方式是採購一批伺服器,然後部署上架,構建一個固定容量的資源池用於 IT 環境的搭建。
 
私有化部署方式的缺點大家都清楚:
沒有彈性,擴容周期長,為了保證業務的需要,常常需要保留一部分冗餘資源以備不時之需,從而導致了 IT 投入的浪費;
 運維負擔重,從機器採購、上架部署,到後續的維護、機房的風火水電,都需要有專門的人員負責。如果是在第三方機房託管,也不能完全省心。
 
既然有這麼多的問題,那為什麼還有很多企業依然採用私有雲呢?
那是因為私有化部署的一些優點,公有雲的多租戶形態沒有辦法完全取代。這些優點可以用兩個字總結,那就是:可控。
 
每個企業都是獨一無二的,有著不一樣的業務場景和 IT 需求。就像我們去商場買成衣,雖然有豐富的樣式和尺碼可供選擇,但肯定沒有訂製的西服穿上得體。對於企業,「得體」體現在符合企業的實際情況,而要完全符合需求,需要對 IT 環境儘可能的可控,包括預算的可控、成本的可控、還有環境部署的可控。
 
下面咱們看看阿里雲專有宿主機是如何做到預算可控、成本可供、部署可控的。
阿里雲專有宿主機如何做到三個可控?
預算可控
Flexera 在 RightScale 2019 雲計算現狀報告中指出,無論是大型企業還是中小企業,有相當比例的企業主都認為管理雲上的支出是一個很大的挑戰,投票佔比高達 84% 和 69%。
 
這個挑戰並不是說雲計算會比傳統部署方式更貴,而是新的部署形態給 IT 預算的管理帶來了新的困難。資源組、預付費實例、預留實例券都是雲計算衍生出來的概念,旨在幫助企業更好的管理預算,但顯然這個困擾依然存在。
 
那麼是否可以在公有雲上,以私有化部署的方式採購一批伺服器,然後按資源池的方式交付給各個業務部門或者項目團隊呢?
 

 

 

 
專有宿主機能夠滿足這個要求。企業可以創建一個「物理機」集群,然後將他們交付給業務部門使用。因為宿主機的資源是固定的,只需要對不同的業務部門分配固定的資源池,並禁止在宿主機外創建資源,就能夠將 IT 資源消費控制在預算範圍內。同時,專有宿主機支援分配資源組,支援打標籤,可以做到不同部門間的靈活分配。
 
另一個企業關心的財務問題是資源利用率的考核
專有宿主機上可以完整看到可用資源,以及其資源剩餘情況,同時能夠查看到宿主機整體的CPU使用率,以此判斷每台宿主機當前和過去一段時間內的資源使用情況。對於運維團隊,可以實時查看的資源使用率和整機負載,從而更合理的給開發團隊分配資源。
 
 

 

 

 
不過等一等,這種方式是不是就拋棄了公有雲的彈性了?
這是個好問題,宿主機本身的彈性由阿里雲保證,如果宿主機不夠了,可以在 20 秒以內完成擴容。而在宿主機上創建 ECS 實例,和在多租戶環境下創建 ECS 實例完全一樣,支援包年包月創建和按量創建(實例不需要再次付費),也支援不同的規格。所謂的彈性損失,只是擴縮容的粒度從 ECS 實例變成了宿主機粒度,如果是一個相對穩態的業務,基本的彈性需求不會受到影響。
 
成本可控
阿里雲提供門類非常豐富的實例規格供用戶選擇,就像去商場買衣服,我們可以買到 T 恤,毛衣,羽絨服,以應對不同的天氣,同時每個款式提供從 XS、S、M、L … XXXL 各種尺碼,以滿足不同體型的顧客。而對應到阿里雲  ECS 實例,有不同的規格族應對不同的業務類型,不同的規格支撐不同的業務負載。
 

 

 

 

 

 
對於追求彈性和靈活的企業(比如處在高速發展的互聯網公司),這是再合適不過的購買體驗了。找到最合適的款式和大小,立即下單立即就能使用。然後對於大部分業務都是穩態業務的企業,情況可能不太一樣。
 
下圖是一家企業 24 小時的 CPU 負載監控,可以看到整體的負載平均值只有 1%~2%(上圖),但是依然有一些虛機的負載超過了60%,甚至接近於100%(下圖)。
 

 

 

 
上圖:24小時平均CPU使用率
下圖:24小時Top20虛擬機CPU使用率
 
針對這種大部分應用是低 CPU 負載,夾雜著小部分帶有波峰波谷的業務,是否有更經濟的部署方式?
我們可以通過 CPU 超分的方式提升低負載應用的資源使用率,同時使用 CPU pin 來保證高負載應用的性能穩定性,同時對於一些特殊負載的應用還可以創建非標準 CPU 記憶體配比的 ECS 實例。這些都需要涉及自定義,所以又回到了那兩個字:可控。
 
可控的關鍵在於 CPU 超分的程度可以由企業自己控制,要避免CPU超分帶來的多租戶爭搶,找到最貼合自身情況的性價比平衡點。可控的關鍵還在於企業能夠獲取到宿主機的負載,可以根據實際情況將 ECS 實例在不同的宿主機間進行靈活遷移。這些在專有宿主機構建的資源池內都可以實現。
 
 

 

 

同樣的資源,可以創建的節點數是原來的N倍,單節點成本相應變成原來的1/N
 
CPU 超分能夠很大程度上幫助用戶降低應用的部署成本,你可以檢查下你管理的伺服器的 CPU 使用率,哪些有可以優化的空間?這種方式很便捷,支援簡單的提升部署密度,並不涉及應用改造。
 
部署可控
雲計算通過虛擬化技術對用戶屏蔽掉了底層物理硬體,向用戶提供標準化的計算資源,避免物理硬體的運維對於用戶的困擾,這種標準化也在逐漸的朝 Serverless 的方向演進。或許有一天我們真的可以不用再關心伺服器,只需要通過介面和事件,就能夠完成計算能力的交付。
 
不過等等,當我們回到現實,大部分企業還處在物理機或者虛擬機的時代。
可能是因為行業監管或者安全審計要求必須物理機獨佔;可能是因為商業許可證要求和物理機綁定;也可能是因為核心業務系統希望做反親和性部署,降低單點宕機造成影響。總之,當前依然存在一些場景,需要我們去感知物理部署環境,所以物理機的概念還沒辦法完全從 IT 架構設計的字典中刪除。
 
而實際的業務場景,對於部署的要求可能無法窮舉。
特別是私有化部署的企業,因為物理資源一直是在自己的完全控制之下,部署的習慣不僅帶有行業屬性,甚至帶有很多的企業運維文化。當你問一個企業理想的雲上部署形態是什麼,可能仁者見仁智者見智。那麼最簡潔而直接的辦法就是給用戶完全的部署控制權。
 
 

 

 

 
專有宿主機是一台物理獨佔的伺服器,可以滿足更嚴格的行業監管要求,同時支援商業許可證的自帶許可證上雲(BYOL)。而對於 ECS 實例的部署位置,企業可以自由選擇,同時能夠將 ECS 實例在不改變網路環境的情況下在不同宿主機間遷移。專有宿主機構建的是一個獨佔的資源池,但並不是一個和公有雲環境隔絕的小環境,專有網路的互通性依然保留。
 
結語
公有云為用戶提供了一個免運維,免部署的彈性資源池。專有宿主機在繼承了公有雲優勢的同時,給予企業更大的靈活度,讓企業對 IT 基礎設施能夠更加自主可控,構建屬於自己的公有雲上的私有雲。
 
最後,總結一下私有化部署和專有宿主機部署的差異:
 

 

 

 
——— END ————