實戰(zhàn)參考:一個私有云選型方案
【編者按】
作為兩大主流開源云平臺,OpenStack和CloudStack各具優(yōu)勢。CloudStack安裝和部署都很方便,OpenStack框架相對開放靈活,可以根據(jù)用戶需求方便的進(jìn)行開發(fā)定制。本文中,博主通過自身基于OpenStack搭建公司私有云平臺的實戰(zhàn)經(jīng)驗 ,對OpenStack實施私有云落地的需求進(jìn)行梳理,綜合產(chǎn)生個人的觀點和評價并和讀者分享。
之前一段時間的工作,基于OpenStack搭建公司私有云平臺。
借此機(jī)會梳理了一下OpenStack實施私有云落地的需求,以饗各位讀者。
私有云落地需求:
1.為公司W(wǎng)EB服務(wù)提供彈性負(fù)載均衡,降低硬件消耗
作為互聯(lián)網(wǎng)服務(wù),在訪問高峰時段和低谷時段,流量差異很大,各服務(wù)的高峰時段和低谷時段也處于不同時間點上,例如A服務(wù)的訪問高峰期在晚上8點到11點,B服務(wù)高峰期則處于白天10點到15點。
若以傳統(tǒng)架構(gòu),則需要為2個服務(wù)的高峰值準(zhǔn)備足量的運(yùn)算資源,服務(wù)器消耗則為A+B所需最大資源,才能保證高峰期兩個服務(wù)正常運(yùn)行。換用云平臺方案后,可以對資源進(jìn)行細(xì)粒度管理,將物理服務(wù)器資源,分解成虛擬機(jī)進(jìn)行資源管理。在A服務(wù)高峰期,可以相應(yīng)關(guān)閉B服務(wù)相關(guān)實例,以減少計算資源消耗。
線上服務(wù),可以考慮使用虛擬機(jī)或容器技術(shù)實現(xiàn)。
2.為公司研發(fā)和測試,提供虛擬機(jī)資源
對于互聯(lián)網(wǎng)公司線上服務(wù)來說,RD和QA都需要一套線下環(huán)境,來對真實場景進(jìn)行開發(fā)和模擬測試。
開發(fā)和測試環(huán)境,需要完全的隔離,基于此種考慮,使用虛擬機(jī)來做開發(fā)和測試環(huán)境目前是最好的選擇。
3.解決運(yùn)維部門對資源的分配瓶頸
有云平臺之前,WEB應(yīng)用的上線和下線,都需要運(yùn)維人員來部署和回收服務(wù)器資源,對于運(yùn)維部門來說,需要有專人解決機(jī)器的安裝和配置、DNS設(shè)置、前端代理服務(wù)器的配置等問題。研發(fā)部門則需要在研發(fā)流程結(jié)束后,進(jìn)入排單流程,等待運(yùn)維將機(jī)器安裝并調(diào)試,交付之后,才能進(jìn)行WEB應(yīng)用上線。
云平臺可以以模板的形式,將虛擬機(jī)做成模板,需要上線的時候,可以迅速以此模板為基礎(chǔ),克隆一臺新的VM進(jìn)行交付。回收資源的時候,刪除相應(yīng)VM即可。
4.為公司內(nèi)部提供文件服務(wù)器,提供公司內(nèi)部員工上傳和下載文件的權(quán)限,用于公司內(nèi)部文件共享,建立公司內(nèi)部知識庫體系。
私有云落地選型
OpenStack & CloudStack
作為兩大主流開源云平臺,OpenStack和CloudStack各具優(yōu)勢。
CloudStack是從cloud.com公司的產(chǎn)品轉(zhuǎn)向開源,從產(chǎn)品化方面來說,本身是個比較成熟的產(chǎn)品,安裝和部署都很方便,且提供了完整的升級流程,可以便于將來和社區(qū)保持同步。然而隨著社區(qū)版本的不斷更新和兼容各家產(chǎn)品,CloudStack也逐漸變得龐大。以公司搭建私有云落地方案而言,很多功能無用且顯得多余。
OpenStack開放至今,并沒有完成產(chǎn)品化發(fā)行,優(yōu)勢在于其插件化的框架,因為技術(shù)框架允許自由的選擇可用插件,私有云落地方案中,可以只選擇需要的組件進(jìn)行安裝。因為框架允許插入不同組件,所以O(shè)penStack社區(qū)也獲得了更多廠商的支持,社區(qū)活躍度也比較高。在企業(yè)實施落地方案的時候,可以有更多的選擇余地,對遇到的問題,也有了更多更快的響應(yīng)。
考慮到將來公司還需要進(jìn)一步開發(fā)所需要的組件,并且需要對云平臺進(jìn)行針對性的調(diào)優(yōu),例如虛擬機(jī)的IO、CPU綁定等操作,而不只是依賴于開源社區(qū)的版本,OpenStack的框架則是更好的選擇。CloudStack如果進(jìn)行二次開發(fā),代碼未合并入社區(qū)版本的時候,升級則需要再次merge代碼,重復(fù)工作比較多。OpenStack則可以做成插件,在升級OpenStack版本的時候,保持插件的可用。
由于OpenStack的產(chǎn)品化不成熟,搭建落地到將來的升級,以及后續(xù)的二次開發(fā),都需要進(jìn)行不少的開發(fā)和測試人力投入。對于互聯(lián)網(wǎng)公司來說,因為有著比較成熟的運(yùn)維團(tuán)隊和研發(fā)團(tuán)隊,開發(fā)和測試在人力資源成本方面計算,并不是特別大的開銷。
最終的選擇,更傾向于OpenStack。
KVM & XenServer & VMWare
OpenStack原生對KVM支持更加完善。
KVM也是比較成熟的虛擬化平臺,于2006年寫入Linux內(nèi)核,且在Redhat 6以后,轉(zhuǎn)向?qū)VM的支持而非之前大力推廣Xen的虛擬化方案。
KVM相比較于Xen,更小,更輕量級,更方便管理。
XenServer是Citrix將之前的商業(yè)版本開源而來,其產(chǎn)品成熟,功能和管理界面更加友好。但OpenStack對于XenServer的管理卻并不完善。
VMware是商業(yè)軟件,在虛擬化平臺中,目前應(yīng)該屬于IO和穩(wěn)定性都最優(yōu)化的方案。OpenStack中,因為VMware本身提供了相應(yīng)的driver,對VMware的支持也比較成熟。最終放棄VMware的原因,是因為其授權(quán)比較昂貴。
目前暫定的方案,以KVM和XenServer為主,具體使用哪種方案,需要后續(xù)進(jìn)行各版本的測試對比。
CentOS & Ubuntu
OpenStack社區(qū)對Ubuntu支持比較完善,Ubuntu更新速度快,內(nèi)核版本比較新,可以支持更高版本的KVM,對OpenStack使用者來說,Ubuntu可以提供更好的性能。
就系統(tǒng)的穩(wěn)定性而言,CentOS來自Redhat商業(yè)版本的重新編譯,穩(wěn)定性和系統(tǒng)優(yōu)化以及兼容性方面,CentOS有著比較完善的測試和發(fā)型流程。CentOS 7 以后,也換用了 Linux 3.x內(nèi)核版本。
鑒于系統(tǒng)可靠性的選擇和之前公司的技術(shù)積累,還是選用CentOS系列,比Ubuntu管理更為方便。
結(jié)論
目前公司選型,基于OpenStack+KVM/XenServer+CentOS6.5/7.0 實施私有云落地。
KVM和XenServer的選擇,最終還需要進(jìn)一步測試才能決定使用方案。
評價
個人意見,OpenStack和CloudStack作為兩大開源云平臺,各自有其擅長的領(lǐng)域。
KVM、XenServer、VMware之爭也是各執(zhí)一詞。
真正選項到實施落地方案,還是要看公司內(nèi)部技術(shù)積累+將來的技術(shù)投入+財力來進(jìn)行選型。
博文出處:http://blog.csdn.net/u011650565/article/details/43372195