EasyStack助力OpenStack實現大規模部署
原創【51CTO.com原創稿件】OpenStack作為當下事實上的開源云標準,已成功被多個行業領域的用戶大規模部署。很多人都知道,OpenStack誕生的初衷就是為了優化云環境,包括公有云、私有云、混合云的所有玩家都希望能同OpenStack建立某種形式的關聯,這也讓OpenStack開源社區獲得大量追隨者,建立了完整的企業生態。
在中國,電信、金融、政府、能源、交通、制造、醫療、教育等各大行業的領軍公司都已經擁抱OpenStack開源云平臺。這說明,從前存在的部署難度高、未能滿足行業用戶定制化需求等問題已被逐步解決,而這歸功于一大批開源創新公司的不斷努力,EasyStack便是其中之一。
那么EasyStack都做了些什么呢?
從降低部署難度入手
在EasyStack 看來,數字化轉型大潮下的任何企業,無論大小,都是科技型企業。
所以,中小企業在數字化轉型過程中,不單是IT管理平臺,更需要能夠滿足創新業務的支撐和滿足混合場景的支持,也需要能夠支撐軟件定義的多樣化。為了幫助中小企業用戶解決上云問題,EasyStack推出了ESCloud Express易捷云。這個產品有如下三大特點:
***個特點是全云化的軟件設計。既有一體機的統一管理,也有超融合的計算存儲的整合,當然還有云需要的存儲虛擬化、網絡虛擬化。云管理平臺甚至是包括IaaS和PaaS的功能,同時也面向運維開發者、管理員、業務人員提供極簡化的界面,實現分鐘級部署一個私有云,秒級獲取一個虛擬機。
第二個特點是采用可塑合的運行架構。可塑合性就是可重塑、可自由組合,滿足多種業務場景。
第三個特點是一鍵式部署業務應用。不單是面向資源的IaaS平臺,也有面向業務和應用的SaaS甚至是PaaS平臺。
EasyStack產品線
當然,中國還存在很多超大型的企業,他們擁有海量的數據,也擁有大規模的服務器和大量的數據中心,對數據安全也有一定的考量。對于這些處在金字塔尖上的企業,行業云更符合他們的需求。
行業云具備云的彈性,面對專門領域行業的公有云,它可以凝聚行業的生態。同時,行業云也可以為行業內部那些對安全更敏感、數據更敏感的客戶提供托管服務。
EasyStack為行業云提供了ESCaaS解決方案。ESCaaS是基于OpenStack的開源架構,在私有云的基礎上增加了諸多行業云功能,比如靈活計費策略支撐行業云復雜計費場景、多級權限管理方便管理復雜的組織關系、裸機資源管理實現虛實資源混合使用,實現統一的監管控平臺。
2017年,云計算正式進入下半場,大數據和人工智能將成為新時代云計算格局巨變的誘因之一。EasyStack為此推出了全球***同時支持GPU和FPGA異構計算的人工智能開源云平臺ESCould AI,以滿足行業企業用戶日益增長的大數據和人工智能業務的需求。
作為開源云計算平臺,ESCould AI在底層支持GPU和FPGA兩種最常用的異構計算架構,從而在芯片核心底層即可釋放人工智能潛力。上層則整合Caffe、TensorFlow等多種流行的深度學習開源框架,從而可以快速建模卷積神經網絡(CNN)和遞歸神經網絡(RNN),廣泛覆蓋圖像識別、語音語義識別、時間序列預測等多種人工智能應用。該平臺同時還提供針對大數據應用的Hadoop、Spark等開源框架,以滿足行業企業對于分布式數據計算、分析、預測等需求。
EasyStack由中國最早從事OpenStack研發的團隊所創建。早在2014年,EasyStack推出了中國***款面向企業級客戶的OpenStack發行版ESCloud。
ESCloud專為建設企業級私有云平臺而生,具有高度開放性,屏蔽底層不同資源帶來的管理復雜度,兼容各種品牌的商業存儲設備及分布式存儲系統。
2017年6月,EasyStack發布了開源PaaS平臺ESCloud+,ESCloud+面向應用開發與應用部署場景,幫助已經部署了ESCloud云平臺的企業用戶快速擴展PaaS層能力。它通過基礎架構層和平臺服務層的融合,打破傳統的管理邊界,實現資源與服務的統一編排、統一權限以及統一管理,能夠支撐傳統應用架構或新一代微服務應用架構,加速企業的創新與成長。
以集群管理形態塑造新型分布式系統
IT技術發展多年,分布式技術也在演化,很少有人能預測分布式系統技術的演化方向。但非常巧合的是,當有新需出現求的時候,總會有一項新技術來填補。
在EasyStack看來,Kubernetes實際上就是一個分布式系統,其所代表的集群管理技術方案是一個比較理想的形態。
為什么?其實和AI一樣,還是為了解決無論是從運維還是開發等方面,人的效率低下問題。當軟件吞食世界時,顯然需要大量分布式系統來承載各行各業的大規模應用,需要更高效的開發、運行和運維方案。但遺憾的是,很長時間業內并沒有達成共識,直到類似Kubernetes這樣的集群管理技術方案的出現。
集群管理將會成為大多數分布式系統未來的主流形態,因為基于完全手工打造的分布式系統會越來越少見,反而基于可靠性、可用性、易于管理和高效運維的集群管理分布式系統將被更多構建。
另外,Kubernetes能夠降低分布式系統的復雜度。作為一個優秀的分布式系統,它能夠讓開發者、運維者,或者其他參與者都能面向業務做更多思考,而不是做更多機器可以做的事情。并且,Kubernetes很應景,能夠實現高可用架構、實施彈性和對Container運行時的管理等。
計算機工業過去發展的五十年里,一直踐行這四個字——抽象封裝,即把復雜度抽象,封裝起來讓上層更高效地去做它該做的事情。而OpenStack,最擅長的就是抽象封裝資源。眼前的問題是怎樣讓OpenStack和Kubernetes實現優勢互補,發揮1+1大于2的價值。
所以,EasyStack設計Kubernetes產品時提出的核心理念是提倡深度融合,而不是整合。因為整合是生硬的、片面的,融合是全面的、無縫的。
OpenStack與Kubernetes融合的實現過程
如下圖,是OpenStack+Kubernetes云平臺架構:
首先,***層是OpenStack企業級云平臺,用來管理計算資源、網絡資源、存儲資源等,使資源池化。在OpenStack管理的虛擬機和物理機上,就能創建容器集群。
OpenStack和容器集群在這個環境中,都需要實現統一網絡和統一的存儲。
實現統一網絡的原因在于避免網絡損失。OpenStack網絡組件是Neutron,Kubernetes里面對應的網絡組件也有很多的解決方案,kuryr方案能夠有效的減少因為多層overlay網絡帶來的性能損失,因此成為***方案。EasyStack選擇Neutron作為統一網絡管理組件,把企業級網絡硬件的能力通過neutron、kuryr無損地傳遞給容器。
對于存儲,很少有存儲廠商再為Kubernetes對應一個存儲,而企業已有存儲又很難提供給容器使用,此時可以把Cinder作為統一的存儲管控中心,既能給虛擬化應用,又能給容器應用,這是OpenStack跟Kubernetes平臺結合的一個***的特色。
此外,EasyStack的企業級容器云平臺也包括鏡像管理、持續集成、持續部署、應用管理、容器集群管理等管理功能,可以讓云平臺的租戶管理、監控告警、日志管理都達到較高要求。
鑒于Kubernetes里應用管理的功能相對較弱,EasyStack封裝了一層簡單的應用。后續,也會支持以應用市場(App Marketplace)的方式來交付云應用。
OpenStack跟Kubernetes的融合非常適合電商大促等大峰值波動的應用場景,通過融合架構可以帶來異構平臺統一管理、資源統一調度、提升安全性,這些都是EasyStack構建的OpenStack+Kubernetes云平臺的重要優勢。
如何從軟件的角度優化OpenStack系統體驗
談到Openstack部署時的難點,可以聊聊如何從軟件的角度優化OpenStack系統體驗。
OpenStack最基本的就是計算、網絡和存儲,但實際上從系統工程的角度看,OpenStack還會涉及到更多的東西,這也是絕大多數情況下,部署和運營OpenStack的過程中都需要相關咨詢服務的原因。
比如,云計算平臺需要有一個穩定的底層系統支持,然而底層系統是人們經常忽略的一環,所以存在著很多可以改善的空間。EasyStack Container Linux和Cloud Linux就是為容器和云平臺提供的定制操作系統,從安全、性能、可靠等諸多方面進行加固,承載云平臺的各項服務,以及承載容器的構建。另外,許多軟件平臺甚至是核心平臺都是由C/C++寫成的,EasyStack系統工程團隊基于對編譯器的深入理解和運用,充分發揮編譯器的優化能力,梳理并重新編譯操作系統中的軟件包,為OpenStack和容器提供從下到上的全方位穩定支撐,實現性能優化和體驗的差異化。
【作者簡介】
石奎, EasyStack架構總監,曾任職WindRiver/EMC/華為等知名企業,十余年Linux操作系統定制開發及Kernel開發經驗,2012年開始貢獻OpenStack社區,曾參與設計并實施國內多個支撐核心生產系統高可靠、高可用OpenStack云平臺,具有豐富的超大規模OpenStack云平臺的設計與實施經驗,2015年開始深入研究NFV領域技術及項目設計實施。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】