天天看點

專訪海航生态科技李書博:全面解讀海航容器雲

随着以Docker為代表的容器技術在國内的迅速發展,容器雲(Container as a Service)也逐漸被廣大開發者所熟知,海航從2016年初開始網羅人才組建團隊開始容器雲的研發,規劃以CaaS為雲業務模式,以Docker為雲平台基礎,打造海航開發測試雲和海航容器雲CloudOS兩個主力産品。

相對于IaaS和PaaS服務,CaaS對底層的支援比PaaS更靈活,而對上層應用的操控又比IaaS更容易,海航認為,CaaS會在不遠的将來對SaaS市場進行一次大變革,未來的SaaS提供商都會依托容器雲這種方式為使用者提供服務。有鑒于此,海航着眼長遠,深耕容器雲領域,瞄準公有雲使用者群體,緻力于将海航容器雲CloudOS打造成世界排名前列的公有雲玩家。

專訪海航生态科技李書博:全面解讀海航容器雲

采訪嘉賓簡介:李書博,海航生态科技集團技術研究院雲計算團隊負責人,前三星研究院雲計算部門負責人,十年研發及研發團隊管理經驗,精通軟體架構設計、雲計算、Docker、容器雲等領域技術。

1.海航從何時開始接觸和使用Docker?出于什麼考慮要研發基于Docker的海航雲?

李書博:我們在2016年初從網際網路和外企網羅雲計算人才,組建了海航生态科技集團技術研究院雲計算團隊,網羅人才就是為了實作跨越式發展,希望對于海航在雲計算産業的市場地位、先進技術研發及規劃、未來發展等方面都能有突出貢獻。

最初為了對标世界先進技術,我們關注到了容器。容器這一技術颠覆了傳統雲計算的地位,以更輕量的方式對雲平台進行虛拟化。時至今日,海航摸索和實踐Docker已經有一段時間了,我們規劃以CaaS(Container as a Service)為雲業務模式,以Docker容器技術為雲平台基礎,研發海航開發測試雲和海航容器雲CloudOS兩個主力産品。

Docker是目前世界領先的容器技術,在基礎設施層面提供了相比于傳統虛機更輕量、更靈活、更快速的虛拟化平台。目前,全球IaaS市場基本處于飽和,幾家大的雲計算供應商如AWS、Azure、阿裡雲占領了大部分IaaS市場。目前雖然SaaS市場發展比較快,但與傳統應用還沒達到很好的契合點,它的遷移能力還沒有展現出來,更多的SaaS服務還是綁定在公有雲平台上,而容器技術為SaaS插上了翅膀,它不僅是一種輕量級的PaaS,也是IaaS平台更小粒度的虛拟化,更為平台無關性和遷移創造了條件,打破平台緊耦合,讓SaaS應用得以更快更迅速擴充。

可以說,從商業和技術等多方面考量,Docker技術及Docker生态都為企業上雲提供了新的市場和推動力,這也正是海航生态科技技術研究院選擇Docker技術為平台,進行下一代雲産品研發的原因。

2.海航的雲服務和容器應用是要解決什麼業務需求和技術挑戰,又是如何解決的呢?

李書博:海航是一家相對傳統的企業,目前的應用和服務大多屬于慢速IT以及傳統的SOA架構、企業級J2EE應用服務架構。雖然之前海航已經提供了海航雲這樣的公有雲服務,但這種服務更多還是以虛機、虛拟資源的傳統方式存在。然而海航的應用不得不面對的問題是,慢速IT不能完全滿足業務的需求,我們需要雙速IT。

對于快速IT,海航的容器應用面臨兩種業務場景:一種是新的應用,即海航内部新近開始投入開發的、下一代的各種服務和應用,包括網際網路金融、輕量級的網際網路服務、應用等。從開發、測試階段我們就會開始以容器化、微服務的方式為這些應用提供服務。

第二種業務場景是已經存在的傳統IT,海航采取“先穩定再變化”的政策,那些已經穩定運作的、且并不完全适用于容器服務的業務應用,我們會保持它們的繼續運作。但這些業務若有新的改動,我們就會考慮引入容器與微服務的方式,與傳統的體系、應用、服務進行打通。随着傳統應用功能的增加和系統的逐漸演進,老的系統會越來越小,新的、以容器方式部署的應用會越來越多,這就是海航對傳統應用進行逐漸改造的過程。

3.容器化技術為你們解決了哪些痛點?是如何解決的?

李書博:容器化技術大大縮短了我們的應用傳遞周期,可以從幾個月縮短到一周。因為傳統的應用服務,開發、測試和生産環境都需要額外的配置,運維人員的工作量也很大,是以海航傳統的應用傳遞周期比較長,通常要兩三個月。這在過去是滿足需求的,但在網際網路快速疊代的當下,SaaS服務百花齊放,新應用層出不窮并快速占領市場,曾經一季度、幾個月的釋出周期遠滿足不了要求。

而通過應用容器技術,我們将應用都打包在容器中,容器平台成為了我們整個應用運作的載體。它解決了一些很重要的問題,首先是開發、測試、生産環境的一緻性,大家都知道容器是平台無關的。另外,容器技術天然地對DevOps、CI/CD有很好的支援。過去我們做CI/CD需要針對不同的雲平台有不同的agent或plugin,但容器讓我們得以在Docker一層解決CI/CD、DevOps的平台一緻性的問題。

快速的釋出與上線讓應用得以彎道超車,而容器就是其間重要的技術驅動力。

4.海航容器雲采用了什麼樣的技術棧呢?能否比較分析一下當初的選項,以及為什麼如此選擇?

李書博:海航想做的是搭建一個未來的公有雲平台。我們預計兩三年後市場會出現一種爆發的雲平台技術,想要占領未來公有雲市場的一席之地,海航必須提前布局,是以我們從2015年就開始跟蹤和關注了迅速發展的Docker技術。但Docker最早隻是DevOps、平台無關的指令行工具,我們該怎麼把Docker建構成一個公有雲平台呢?我們需要一種平台層的技術,即在編排、存儲、網絡這些友善都有相關的解決方案。

是以在海航容器雲HNA CloudOS技術棧中,針對對于容器核心引擎、基本的容器編排、基礎網絡、應用市場這一塊,我們使用的是全棧化容器管理平台Rancher;對于業務層的可視化的業務編排、跟使用者相關的多租戶的管理、以及我們整個營運平台的日志、監控,和業務計費、營運相關的部分,是基于我們自有的核心研發技術。以日志平台為一個具體的例子,我們部分使用了EFK,Elastic Search+Fluentd+Kibana 這樣一個基礎平台,但是因為它并不能滿足我們大量業務的需求,在它們下面我們還使用了像Hadoop、HDFS這樣的大資料叢集。通過把大資料叢集和上面的EFK打通,同時這個系統與我們的使用者管理、多租戶、使用者校驗等後端使用者平台建立聯系,最終搭建了一個日志平台。

5.根據Gartner的市場調查,雙模IT将成未來企業IT建設主流。 海航作為一家傳統企業,如何了解雙模IT,在海航的開發測試雲中,如何配置兩種不同的研發模式?

李書博:這個問題和我們的經營體系、研發體系、如何和雙模IT配合都有關。雙模IT就像是兩類體育運動。慢速IT就像長跑,路途很長,不需要短期爆發力,這種IT模式都是瀑布式的,一切都事先規劃完成,它的業務是相對持久的、長期的、緩慢演進的過程。我倒覺得這不存在哪個IT更好,慢速IT是企業特别是傳統企業發展的基石。

快速IT可以說是企業面對市場變化進行業務轉型的一個方向。它并不要完全替代慢速IT,隻是面對快速的市場變化和日新月異的使用者需求,企業該如何适應市場、滿足使用者需求?是以快速IT是必須的,它就像短跑運動員,采用靈活的方式快速落地、在短期内見效。

對接到落地,從開發測試雲來講,我們的核心理念是不論快速慢速,都推行我們的DevOps平台。慢速IT會有更多的人工參與,進行更多的配置;而快速IT更多地采用自動化和CI/CD來不斷疊代。

但在完整層面上,不論快速慢速都要通過雲平台來進行支援。對于慢速IT,我們更多地采取混合雲管理的模式,除了企業内部的私有雲的虛機、主機以外,需求變大時還會使用一部分公有雲資源。我們使用CMP (Cloud Management Platform)混合雲管理平台和Nexus等開源工具,來完成基本的版本管理,通過Jenkins去做持續內建,讓它跟各個公有雲的平台及私有雲的平台進行打通,采用一個統一的雲平台管理去管理應用的版本、傳遞、更新、復原、釋出等。

對于快速IT,我們建構了Build Pipeline,引入了更多自動化方式,把開發、測試、生産環境一緻化,一鍵自動部署、Auto-Scale、水準擴充來滿足快速IT的需求。下層通過容器雲的方式進行管理,所有應用都以容器的形式運作。通過dockerfile打包成Docker Image,Push到Docker Registry,當持續部署觸發以後,會從Docker Registry中将Image自動拉出并通過Docker-Compose運作應用。整個過程是依托容器雲平台、通過微服務建構方式完成的。在開發測試雲可視化功能裡可以看到自己的服務是如何組織、如何聯系的。

6.我們知道持續傳遞是需要一個組織中的各個角色進行高度的協同,在開發測試雲中,涉及到軟體研發的各個角色之間是如何協同工作的?

李書博:我們的特性團隊或者功能團隊會負責從研發、測試到上線的整個周期。傳統組織結構中通常會有研發團隊、測試團隊、生産/運維團隊,這使得在整個公司或組織内部真正打通CI/CD變得很困難,因為大家難免會各行其是。是以我們更喜歡讓某個特性團隊負責某個功能服務的整個生命周期。大的系統上我們會采用微服務的方式,減小特性團隊之間的溝通成本,同時增加服務内聚力,減少服務間的耦合。這樣我們可以保證各特性能快速釋出、快速內建。

除此之外,不可能每個特性團隊都是DevOps專家。我們會有一個專門的DevOps團隊,它負責兩件事:一個是DevOps平台,包括開發測試雲相關的一切技術支援及維護工作;第二件事是作為DevOps的布道者,每當有一個新的特性團隊為了實作某新特性而被組建時,DevOps團隊會給新特性團隊教育訓練如何使用這個DevOps平台去完成這個特性的釋出以及最終的傳遞。DevOps團隊裡人不多但是卻都是精兵強将,都是DevOps專家,涉及軟體研發的各個角色就是通過這種模式進行協同工作的。

7.海航容器雲服務的使用者群體是什麼?相應的發展戰略是什麼?

李書博:講使用者群體,我們可以看看業界的标杆和大佬。以AWS為例,大體量如它,強調的仍是滿足開發者的需求。海航容器雲CloudOS的定位也是公有雲使用者群體,更多的是中小企業和網際網路企業的開發者,未來兩三年後會是大企業。我們的目标就是做公有雲,成為全球公有雲市場的玩家之一,把海航容器雲CloudOS做成世界排名前列的專家。

講目标肯定有對應政策。我們的第一個重要戰略就是要占據技術制高點,我們要和全球最好的容器公司合作,強強聯手,一起完成我們的戰略目标。我們目前和來自矽谷的容器明星企業Rancher Labs合作,就是相信他們的技術實力。第二是更充分地考慮和聯合開發者及使用者的需求。我們認為容器雲會在不遠的将來對SaaS市場進行一次大變革,未來的SaaS提供商都會依托容器雲這種方式為使用者提供服務。因而我們要在容器雲這一層成為生态的黏合劑。

所謂黏合劑,對上,我們要連接配接各種SaaS應用市場,把各種SaaS管道商和服務商黏合到海航容器雲平台。對下,我們要黏合各種基礎設施營運商及公有雲提供商。我們通過黏合上下的資源優勢和合作夥伴的協助來打通這一部分市場,并且利用資源優勢,使使用者可以用超低價來使用SaaS服務和海航平台資源去部署他們的應用,為使用者提供額外的價值,也把更多的使用者黏合在我們的平台上。

同時我們平台追求極緻的簡單易用,比如,我們為使用者提供可視化建構微服務的方式,使用者通過簡單的點選、拖拉拽,就可以建構自己的微服務,還可以将這種微服務儲存成檔案用來分享。我們将來會建立這樣的一個社群,讓大家可以分享自己設計的微服務和各種服務架構,這些架構都是通過可視化方式設計,如果别人設計過一個好的架構,你在這個平台上就可以拿來、導入、立刻使用。這是我們平台巨大的優勢和為使用者提供價值的方式,也是我們未來的發展方向。

8.海航容器雲有合作夥伴生态建設方面的考慮嗎,具體方案如何?

李書博:對内,我們會整合海航内部所有的服務,通過容器雲平台承載海航集團所有應用和服務,給海航内部的服務提供增值增效的效果。

對外,我們有兩大方向,一是整合基礎設施提供商的資源,為客戶提供資源支援,全球各種IaaS層所有的IDC都是我們未來的合作夥伴。

另一方向,我們聯合各種SaaS提供商,通過我們的平台為他們提供更多的管道和使用者。同時,利用我們技術合作夥伴Rancher Labs在平台建構技術方面的領先優勢,結合海航内部的研發力量,建構海航的開源社群,我們就像一塊微服務畫布,讓大家釋放創意,通過打造這樣一個社群分享我們的經驗和對使用者創造的價值。(責編/魏偉)

繼續閱讀