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