作者簡介:江鍇,8年多云計算和網絡經驗,擅長為企業用戶設計部署云計算整體方案,對OpenStack和網絡虛擬化有深入研究。現任職云途騰解決方案架構師,負責云計算產品及方案規劃。
9月初,云計算開源產業聯盟、中國信息通信研究院共同發布首批通過可信云私有云開源解決方案認證的七個廠家。此次參評的解決方案主要聚焦在OpenStack技術架構,表明了國內產業聯盟及科研組織對OpenStack在私有云建設中大規模應用的支持,同時也對廠商在OpenStack的創新開發進行了認可。10月,OpenStack基金會發布最新的Newton版本,在Newton代碼貢獻中,共23家中國企業上榜,貢獻覆蓋在新項目,用戶體驗,部署等各個方面??梢哉f每隔些許時間都會有關于OpenStack的技術更新信息,OpenStack在眾人的關注下,正保持著高速的持續創新和發展。
云計算發展至今,從開始CloudStack、OpenNebula、Eucalyptus、OpenStack等開源軟件爭艷到OpenStack事實成為開放云計算的標準框架,OpenStack用戶群也在慢慢增大,從國外的AT&T、eBay、PayPal、沃爾瑪到國內的中國移動、國家電網等都陸續在生產環境中使用OpenStack。社區OpenStack的基礎模塊穩定性在不斷增強,同時新模塊和新功能在不停增多,反復迭代會造成新的穩定性問題,社區OpenStack提供了一個很好的技術框架,但畢竟技術到產品化、商用化還是有距離,目前OpenStack Open bugs 16000+,每個版本周期都要fix數千個bug,bug fix是長期持續的工作??紤]到在生產環境下商用,廠商需先打造一個穩定的基礎產品平臺,然后在此之上進行功能模塊的創新和疊加,內部可搭建穩定性測試環境,基于腳本模擬真實用戶,長時間不中斷進行不同規格云主機的創建/刪除、網絡創建/刪除,磁盤創建/刪除等操作,測試過程中不停的回歸bug fix,直到可以保持100%的成功率。
基于穩定性之上,OpenStack社區也在不斷優化用戶體驗。如發布的Newton版本中重點提升OpenStack作為單一云平臺對虛擬機、裸機、容器的管理外,同樣注重了細節體驗。如Horizon可以檢查可用的網絡IP,取代了允許用戶隨意設置的屬性;用戶可以創建無IP地址的虛擬機,方便在以后做一些復雜操作。多數廠商也改進了原生Dashboard的界面風格,支持了分頁,資源排序;在云主機這塊,有些基于Cloud-Init和qga(qemu-guest-agent)實現了設置修改用戶名/密碼、監控操作;在鏡像方面,支持掛載ISO虛擬光驅/云光驅等更多選擇;同時一些廠商也在基于Metadata開發定義更多新特性,如疊加安裝應用等。這些小功能的開發,給用戶帶來了很好的操作體驗。
同時社區在不斷提升高可用性,如在控制節點上對無狀態API及內部組件通過HAProxy提供調度實現HA,RabbitMQ 部署Cluster(A/A),MySQL部署Galera Cluster(A/A),HAProxy自身通過Pacemaker/Keepalived實現HA。針對Neutron HA方案,逐步從社區Juno版開始引入了VRRP/Keepalived和DVR方案,Mitaka版又進行了增強,支持了DVR SNAT上的HA功能。源于對虛機如Cattle的理念,社區版OpenStack 是不支持虛機HA的,但在國內IT環境下,很多行業用戶不分基礎架構部和應用部,由應用部自行保障業務高可用的理念會受到局限,因此廠商也可基于Evacuate結合Watchdog技術,開發實現主機及虛機的HA。同時也看到了有些廠商創新開發了基于主機管理網/存儲網/業務網故障,虛機可選擇是否進行疏散。
在資源管理上,OpenStack社區維系著開放的生態,參與公司和人員在逐年增加,隨著VMware和Google等公司陸續加入,總體朝著對多云、多Hypervisor、多廠商設備資源納管在發展。在社區Mitaka版本中與亞馬遜EC2的合作,實現了初步的混合云,版本包含了一個EC2-API項目解決資源不足時將請求分發到公有云;也增加了新的Cinder驅動,可以將云硬盤備份到Google云存儲中。在與傳統企業用戶接觸中,涉及較多的資源管理需求主要包括兩方面,物理主機和異構Hypervisor資源。
對于Hypervisor納管,特別是VMware資源池納管一直是用戶關注的重點?;舅悸房梢酝ㄟ^對接VMware vCenter/NSX/VDS等組件,實現統一納管KVM和VMware資源池。做到新建VMware虛機的生命周期管理,網絡管理,存儲管理,實現統一門戶和認證管理,在界面上可以選擇在KVM或者ESXi池中創建虛機資源,同時實現KVM和VMware資源池的互通。對于新建VMware資源實現納管后,還需考慮如何管理vCenter中已創建的VMware的虛機資源,這就需要廠商對現有VMware接口及管理技術進行深入研究分析,提供將存量VMware資源 import OpenStack的一整套流程,從而實現在OpenStack中像管理KVM資源一樣管理vCenter中創建的VMware資源。
對于重型業務如Oracle、Hadoop等,眾多用戶依然采用Bare metal部署,社區也有獨立的Ironic項目進行支持,可對Bare metal設備進行啟動、關閉,安裝操作系統等基礎操作。Newton版對Ironic進行了增強,支持了Bare metal 添加多租戶網絡,這樣就真正實現了Bare metal設備和虛機近似的操作和管理。同時也可以考慮結合Ironic和Sahara項目,將Hadoop集群便捷的部署在物理機上。
OpenStack的部署在不斷簡化和完善,社區OpenStack豐富了大量文檔的同時,在Big Tent模式下也引入Fuel這樣的自動化部署工具,各廠商也都開發有自己的部署工具或者腳本,現在部署一套OpenStack平臺已經不算難事,這也對廠商提出更高要求,架構設計上能夠結合用戶一些需求,做到優化。如針對一個用戶項目上,考慮到社區獨立部署Neutron網絡節點,在性能擴展和單點故障等問題,而DVR路徑長,排錯復雜。可以考慮基于每個計算節點分布部署L3 Agent,類似multi-host模式,通過調度算法(如ChanceScheduler、LeastRoutersScheduler等)結合vRouter的HA,將vRouter均衡的分布在不同的L3 Agent物理節點上,關于L3調度算法,可以進行持續優化。通過此類優化部署,節省了網絡節點的成本,擴大了部署規模,實現了流量分擔。
另外,在云計算項目交付中,上層運營平臺和運維平臺也不可或缺。如審批、計費、監控運維等,社區也在積極推動,如在Big Tent模式下出現的CloudKitty就旨在解決IaaS層計費,但這兩個平臺的建設更多的還需要廠商或用戶進行實現。如我們的一個客戶,擁有北京、上海、香港三地中心,280余臺服務器,生產集群有4000+個觸發器,18000+個監控項目,這樣的環境對自動化運維平臺提出了高的要求。這就需要深度調研用戶需求,整合聯動Ansible、Cobbler、Zabbix、ELKstack等工具開發一套可商用的自動化運維產品,來幫助運維人員實現可視化,自動化的應用程序部署,備份,更新和啟停。同時對于具備研發能力的用戶而言,可以開發聯動Gerrit、Jekins,OpenStack等組件,實現CI/CD(持續集成/持續交付)方案,達成云應用的開發、打包、封裝、發布、交付完整生命周期管理目標。
OpenStack發展到現在,已經不僅僅是一個獨立的基礎設施平臺,而是本著創新、合作的思路朝著更廣闊未來發展。也希望國內的一些一線廠商如華為、華三、云途騰、99Cloud、EasyStack將穩定性作為產品之基石,在用戶體驗上同樣進行了增強和創新,不斷簡化和完善OpenStack部署,作為開源技術之間協同努力的一部分,為下一代云計算框架注入新能量,提供更多的應用支持,同時社區也在新增像Trove、Sahara、Murano、Mistral、Tacker等項目,相信通過生態的持續創新,定會給用戶業務和新型應用帶來價值。