在過去的3月份,開源廠商Redhat公司披露了它的第四個季度的財報,顯示其中16%左右的收益來自于私有OpenStack。Red Hat的CEO Jim Whitehurst也表示,第四季度中三分之一左右的大型交易來自于OpenStack私有云組件。這對用戶來說無疑是一個利好消息,說明已經有越來越多的企業開始嘗試應用OpenStack了。
Redhat只是OpenStack企業部署的一個案例而已,那么OpenStack當前在國內的部署、實施水平如何?對此,我們有幸采訪了云極星創聯合創始人兼CTO劉世民先生,他曾先后在EMC和IBM公司負責OpenStack平臺的架構設計與實現和OpenStack 的私有云產品國內的研發,以及云極星創IaaS平臺研發部架構師劉家軍先生。
OpenStack國內發展形勢大好
OpenStack是以開源社區為基礎,僅從對社區的代碼貢獻量來看,中國企業、開發人員已經成為社區的中黃金、白金會員的主力軍了。劉世民說, “目前,在OpenStack領域,我認為國內與國外的差距已經不是很明顯了,相反在某些方面國內甚至是超前的。”對此劉世民給出了解釋:
首先,國內客戶在OpenStack方面受到了良好的教育,促使開源環境部署處于了較高的水平,國內在這一開源平臺上的教育過程已經基本完成。現在,面對OpenStack,客戶的問題不再是“OpenStack 行與不行”的問題,而是想要深入了解廠商所提供的“OpenStack做的怎么樣”的問題。
其次,OpenStack代碼和功能方面的成熟度比以前有了顯著的提高,尤其是在計算、存儲、網絡等核心模塊上已經達到了很高的水平,足夠在企業應用,例如商用存儲、商用SDN,以及其它方面的優化,都已經能夠滿足大部分企業環境的需求。
第三,國內從事OpenStack的公司已經走進了成熟期。從融資的情況來看,大部分OpenStack初創企業已經走向了C輪,或者是B后期的輪融資,另外再加上以華為為代表的大企業也已經將OpenStack 錘煉成型。
第四,企業對私有云的需求在提升。私有云必須以虛擬化為基礎,現在國內的虛擬化水平已經可以向私有云發展,同時,物聯網應用的發展也對云計算提出了直接的需求。這也就是說,OpenStack作為構建私有云的基礎平臺,也備受企業青睞。
另外,劉家軍補充,國內企業進行的私有與公有項目,從架構與設計都不錯。在國內,基于OpenStack構建私有云的企業有很多,涉及了金融行業、電力電網行業,銀行業,這些企業要么自主研發,要么與OpenStack廠商合作構建私有云。除此之外,大的互聯網公司,例如360、京東、網易、美團都對OpenStack 進行了投入研發。
由此可見,OpenStack在國內發展真的一片大好的情勢。但在與國外相比較時,劉世民還說“如果說有差距的話,那還是在產品化。”
OpenStack 產品化:“不要OpenStack ,而要私有云”
談到用戶對OpenStack的需求時,劉世民這樣說到:“企業需要的不是OpenStack,而是一個私有云,他們需要的是可以支撐業務發展的私有云。”但企業自己構建私有云比較復雜,如對環境的利舊性,對數據中心內部的建設,對網絡存儲等功能都有很高的要求。雖然,OpenStack本身是一個開放平臺,可以支持各種網絡、IT基礎設施、各種負載應用,可以很好地應對用戶對私有云的需求。但OpenStack本身對于用戶來說更是解決問題一項技術,并不能拿來就用,他們需要是一種產品化的OpenStack,而這正OpenStack社區的弱點。在把OpenStack轉變成企業所需要的產品化過程中,劉世民認為應該從以下幾個方面著手:
改進OpenStack界面。界面是用戶最直接接觸東西,一定要做到簡單易用。然而,對于管理、計費、與企業網絡的用戶系統的打通等功能,社區OpenStack無法做到易用。劉世民認為,客戶對私有云的很大一部分需求是對界面的要求。OpenStack社區的Horizon顯示界面,完全是以技術化的方式呈現的——只是簡單地把資源暴露出來,最終用戶完全無法直接使用,使得企業進行OpenStack構建私有云時,要重新定制化這一界面。
據劉世民介紹,云極星創在OpenStack的控制界面(CMP)方面投入了大量精力,一開始就把CMP與OpenStack置于同等重要的位置進行產品設計,盡量屏蔽掉過于技術的東西。云極星創認為社區的Horizon是依附于OpenStack的,不便于最終用戶使用,因此,在云極內部專門設置了一條產品線服務于CMP的設計。
提升OpenStack穩定性。OpenStack社區有30多個組件,和難以計數的項目,其穩定性差,可維護性弱。用戶認為選擇OpenStack構建私有云,就意味著企業要培養一支大型的維護團隊,大大地增加了人力成本。在這方面,為了確保OpenStack的穩定與可維護性,劉世民說OpenStack服務提供商要具備強大的服務系統和用戶監控平臺——這些也是云極星創的重點,他們并給用戶提供了Venus自動化運維平臺,讓OpenStack功能盡在用戶的掌握之中。
加強OpenStack備份功能。無論是虛擬機、文件備份,還是數據庫備份,OpenStack社區都比較薄弱,對此云極星創將引入第三方專業備份機構,打造了一個生態系統,共同滿足企業對安全、備份的需求。”我們不只專注于OpenStack 代碼本身,我們還以它為中心、滿足客戶產品化需求的完整的產品體系,“劉世民表示。
此外,云極星創看到,近年來對于技術選型方面,企業已經愈發地趨于理性,越來越多從業務需求出發,可以說是用戶的選擇已經回歸到業務的正常需求上。因此,對于用戶所提出的需求,云極還提供了強大售前團隊支持,幫助用戶甄別出偽需求,留下有價值需求,給用戶提供定制化的設計。劉世民認為,“定制化是有范圍的,如果90%是標準化,10%定制化,這是合理的需求;而如果企業一味拒絕定制化,并不是長久之計。”
OpenStack +容器技術:打造全棧式的云平臺
對于OpenStack與容器技術,如Docker和Kubernetes,之間的關系,劉家軍說OpenStack與Docker是互補的關系,只是兩者解決的核心問題不太一樣。
從技術看,Docker主要是運行時環境的一個封裝,它把常用的程序、庫函數、包括軟件本身都會打包在一個鏡像中;不同的Docker實例依賴同一個操作系統內核,優勢在于,例如應用打包好后,在不同的Linux發行版本上都可以運行,減少了對操作系統的依賴;另外它結合了操作系統提供的功能,實現了資源的隔離,如果在同一個操作系統上運行兩個程序 ,即使對同一個軟件庫有不同版本的要求,也不會有影響,因為它們運行在各自的鏡像中,使用的版本是不一樣的。
OpenStack是通用的IaaS平臺,以系統虛擬化為基礎,主要指的就虛擬機。虛擬機抽象模擬了計算機所需要的各種虛擬零部件,在這些零部件上安裝操作系統,才能把這些虛擬的零部件運行起來。虛擬機中支持完整的操作系統,無論安裝什么操作系統,底層模擬的程序和硬件提供的接口或者映像與真實機器是一樣的,所以它能完全獨立于底層的操作系統。與Docker的一個區別在于,Docker實例之間依賴于共同的內核,如果系統內核出現BUG,所有的Docker都會受到這個內核的影響;而虛擬機的隔離性更好,它提供給每個虛擬機一個獨立的虛擬的硬件,虛擬機擁有自己的內核,如果這一個內核出現問題,不會影響別的虛擬機的。
兩者技術上不一致,適用的場景和范圍也不一樣。Docker適合用來做應用之間的隔離——在現有的平臺中更適合于PaaS場景中,程序員只需要關注于程序、代碼做好就可以,他不用關心平臺的運行、部署、運維等工作。
Kubernetes是容器的調度和編排工具。對大型的程序而言,其中包含的不只一個運行服務,將會有多個服務,通過一定的通信來提供整個的功能。在這種情況下,這些組件之間如何部署,如何交互,部署在什么地方合適,都通過編排工具完成的。對于底層物理硬件的調度、資源的合理分配等待調度編排是Kubernetes的核心功能。
OpenStack與Docker和Kubernetes都存在各自的優缺點。在劉世民看來,目前OpenStack與容器有幾個對接方向,一是OpenStack容器化,解決可升級性問題;二是OpenStack編排容器,解決集群項目管理問題;三是OpenStack中的虛擬機與容器的整合,解決網絡相關的問題。
"云極技術棧選型,不是OpenStack公司,我們的定位是打造一個以OpenStack為核心的IaaS層,這是我們的第一個目標,"劉世民稱。在(IaaS)上面云極還將打造一個CaaS(容器即服務)層,同時基于CaaS層建立PaaS層來支持應用的運行;另外,在SaaS層,打造云極還將打造自己的的Marketplace,給用戶提供有價值的云服務。云極星創的終極目標,是給用戶提供一個SaaS 、PaaS 、IaaS 的全棧式的云服務平臺。
結語
盡管,OpenStack正在不斷走向成熟,但還是有一些需要改進的地方。未來,劉世民期望OpenStack社區能注重產品化的設計,便于用戶、開發者的使用;更加開放,擁抱各種新技術,如容器、NFV、IOT和大數據等;并且社區能在混合云中付諸更多的行動,因為未來混合云很有可能一騎絕塵。