IaaS 云的應用場景思考
有這么一個需求,一家企業里的 IT 經理,由于最近幾年云計算炒的非常火爆,老板一直讓他弄一個云計算,問我有什么好的想法沒有?
我問:你們有多少物理資源?主營業務是什么?
他問:我們只有不到 20 臺物理服務器(機架式),主營業務是汽車配件,還有一個他們的電子商務網站。
我問:這個網站用戶量怎么樣?服務器是否可以支撐這些高峰期的用戶,服務器上還部署著什么其它的軟件么?
他說:現在服務器資源足夠用,網站用戶量也不是太多,偶爾搞搞什么活動,就把其它兩個服務器也部署一套網站應付一下,平時輕閑的很,其它幾個服務器部署了一些類似于 ERP 的軟件,但是平時用的不是很多,又跟我說,部門就他們兩三個人,但是他們還有一個不到十人的團隊,在做一個汽車配件類的移動 APP。
我問:你們用虛擬化了么?
他說:用了,有兩臺 VMWare,平時也會試試 KVM。
我問:你們的網站有涉密數據么?
他說:沒有。
我問:你們那個開發團隊在需要申請資源的時候,都是走什么樣的流程,走完整個流程大概需要多長時間?
他說:先在郵件上提出資源配置要求,郵件回復結果。如果有可用的資源配備,在從 OA 上申請,整個周期快的話需要大概 2 天,慢的話估計得 3 到 4 天,如果需要資源(物理服務器)被其他人占用的話,就需要購買,這個周期就長了。
我問:那些被占用的資源,使用率怎么樣?
他說:就跑服務器端程序,開發類的居多,占用的資源很少。
通過以上一問一答的聊天,我給出了以下結論,來分享給大家:
1、這位朋友現有的資源,足以滿足他們企業的需求,而且還有大部分資源沒有利用起來,我建議除了數據庫外的資源全部虛一下,先將資源整合,把資源池化,提升資源的利用率;
2、完成以上資源池化以后,就是要做一個集中管理,如果以 VMWare 為主,可以用 vCenter 來做管理,KVM 的話也有一些開源的管理工具。這樣就可以做一些簡化的管理操作;
3、根據企業的業務屬性,再將多虛擬化環境管理起來,類似的工具有 CloudStack、OpenStack 等,這樣就形成了一個小的 IaaS 私有云;
4、通過對 CloudStack、OpenStack 等工具的功能擴展,可以實現對資源申請、回收等流程的統一管理,大大提高交付資源的質量;
5、對于網站和移動 APP類的應用,如果高峰期來臨,本地的資源抗不住,也可以通過對 CloudStack、OpenStack 的擴展,借用一部分外部資源,比如 AWS、阿里云等,這樣就可以在需要的時候申請外部資源,空閑的時候就釋放外資源,按需使用、按量計費,維護成本也大大降低了,這樣就又打造了一個企業的混合云環境。
通過以上結論,又幫著這位朋友簡單的梳理了一下建設流程。
一階段(資源整合階段):
1、將物理資源按物理配置進行分類;
2、先將空閑的物理資源池化;
3、對公司業務進行再分類,梳理流程;
4、根據資源和業務分類,將網絡資源和存儲資源進行池化;
5、對資源池進行統一的集中管理。
二階段(IaaS 實施階段):
1、 IaaS 工具選型,根據企業的特性選擇一個合適的 IaaS 工具。方便靈活、又偏交付質量,且穩定的可以選擇 CloudStack;公司即有Python開發能力,對虛擬化又有較深的技術能力,且有獨特的企業業務特性,自主能力比較強的可以選擇 OpenStack;
2、把虛擬化集中管理工具接入到選好的 IaaS 工具中;
3、初始化 IaaS 工具;
三階段(己有資源遷移階段):
1、將現有資源中的數據向私有云環境進行遷移,可選的方式有 V2V(虛機到虛機)、P2V(物理資源到虛機)、D2V(數據到虛機)等;
2、遷移后的一致性校驗和試運行;
3、試運行無問題后,將原有設備進行初始化,然后加入到 IaaS 環境。
四階段(開發階段):
1、根據企業的性質,對業務進行梳理;
2、收集最終(其它部門)用戶需求,整理預開發的功能列表;
3、對將要開發的功能進行優先級劃分,分階段進行開發;
4、研發完畢,聯調測試;
5、BUG 修證;
6、上線。
五階段(混合云開發階段):
1、整理業務需求和對公有云服務進行選型,比如阿里云、AWS 等;
2、在現在的 IaaS 工具上接入公有云服務,以支持業務的需要;
3、研發完畢,聯調測試;
4、BUG 修證;
5、上線。
當然也要注意以下問題:
1、技術方面:云計算是一個架構,包含很多種技術的組合;應用方面:云計算是一個優秀的商業模式;要用云計算,就要先清楚他的定義。
2、虛擬化不是云計算,充其量也就是云計算中的一個模塊,一種實現技術。沒有了傳統的虛擬化技術,我們還有基于容器的技術,同樣可以實現類似功能,比如:Docker、LXC、OpenVZ 等;
3、由于一些商業限制和一些穩定性的原因,傳統或開源的云計算工具 CloudStack、OpenStack 等無法百分百的支持流行的商業虛擬化技術,會對一些商業限制的功能和一些在云環境下不穩定的因素閹割掉,大家一定要注意;
4、一些物理服務器數量未達到某個量級時,又或者相應的業務不符合云計算的定義時,使用云計算反而會帶來更多的問題,比如使用習慣上、某些虛擬化特性上等等。所以資源少的情況下,只做到虛擬化的集中管理就可以了;
5、在資源(當然更多的還是物質上)充足的情況下,可以采用一些商業的 IaaS 工具。
以上是一個比較典型的IaaS私有云和基于IaaS企業私云之上的混合云應用場景,希望對大家有一個比較好的引導。