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