丁海驁
2018年12月,VMware完成對西雅圖的初創(chuàng)企業(yè)Heptio的收購,在VMworld 2019上,VMware宣布推出產品和服務組合VMware Tanzu,正式將云原生納入VMware的業(yè)務版圖——Craig McLuckie和Joe Beda就是那一年加入VMware公司,前者擔任VMware應用現代化業(yè)務部門研發(fā)副總裁,后者則成為VMware首席工程師。
在一個強調技術導向的領域,Craig McLuckie和Joe Beda兩人的技術成就,絕對值得被記錄進IT發(fā)展史:2014年3月,谷歌開始著手開發(fā)當今已經鼎鼎大名的Kubernetes項目——Craig McLuckie和Joe Beda,以及他們的隊友Brendan Burns,就是這一項目的創(chuàng)立人,也可以稱為是創(chuàng)始人。兩年后,2016年,Craig McLuckie和Joe Beda離開谷歌創(chuàng)辦了Heptio,直到2019年被VMware收購,兩人進入VMware任職。
因此與VMware收購了Heptio相比,業(yè)界普遍認為:獲得Craig McLuckie和Joe Beda兩人的加盟,使得VMware進軍云原生領域變得成功幾率更高。
“我要特別強調一下:今年是Kubernetes的七歲生日,這是一個非常特殊的生日,因為當初在谷歌內部Kubernetes起步的時候,它的項目名稱就叫Project 7(七號項目),Project 7這個名字是來自于科幻電影Star Trek(星際迷航)的靈感,所以我們剛剛慶祝了它的七歲生日,這個七歲是非常有特殊意義的?!盋raig McLuckie日前在接受視頻采訪時,反復強調,Kubernetes作為一個社區(qū),仍然處在一個非常早期,甚至說是嬰幼兒的階段,因此在未來還有大量且精彩的工作要去做。
雖說無論是Craig McLuckie、Joe Beda,還是VMware Tanzu、Kubernetes、云原生,在整個IT技術領域早已為人熟知,但是由于存在技術門檻,對于非技術領域的人來說,必須要先弄懂這幾個概念之間的發(fā)展脈絡和關系,才能厘清兩人加盟對于VMware,以及整個行業(yè)的價值。
大部分關于現在技術的演進脈絡,實際上都可以從云計算技術開始說起。
早在沒有云計算的年代,1959年6月,匯編語言設計先驅,英國計算機學家克里斯托弗·斯特雷奇在國際信息處理大會上發(fā)表的論文中,首次提出了虛擬化技術的概念,這被看成是今天云計算基礎架構的核心,是云計算發(fā)展的基礎。
簡單說來,虛擬化的邏輯是提高對硬件資源的利用率:通過在系統(tǒng)中的硬件和操作系統(tǒng)之間加入一個虛擬化層,向下,將資源池化(包括CPU、內存、硬件、網卡等);向上,為操作系統(tǒng)提供一個被定義的服務器硬件環(huán)境。因此最初,基于虛擬化技術的云計算,僅是如谷歌、亞馬遜這類對于運算資源和存儲資源要求越來越高的互聯網企業(yè),解決IT成本越來越高的一種IT升級方案——通過在價格低廉的硬件設備上部署虛擬化系統(tǒng),獲得利用率更高的計算性能。直到有一天,云計算變成了一種業(yè)務和服務。
今天我們都知道云計算的三種模式是SaaS、PaaS和IaaS。但是在云計算變成一種服務業(yè)務最初,IaaS是最重要的一種模式。此刻,用戶最終獲得的,實際上就是利用虛擬化技術對池化物理資源進行配置和管理,虛擬出來的邏輯計算機(也稱為虛擬機)。由于要面對不同用戶的需求 ,因此每個虛擬機之間是相互隔絕的,運行不同的操作系統(tǒng)。
VMware就是在這一時期崛起的一家專注虛擬化技術和軟件提供商,其核心軟件vSphere、vSAN和NSX,解決的就是云計算中的計算、存儲和網絡三個方面的能力調度和集中管理的問題。
隨著云計算本身的發(fā)展,IaaS、PaaS和SaaS的服務更加精細化,用戶對于云計算的關注點,開始從“無限的計算能力和存儲空間”等IT基礎架構的性能,轉變?yōu)榛谠朴嬎銟嫿ㄏ嚓P應用:由于每臺虛擬機都需要運行一個完整的操作系統(tǒng),以及其中安裝好的大量應用程序,這讓用戶的應用開發(fā)、部署、遷移和維護,變得比較繁瑣。于是就有IT技術人員開始考慮:能否將位于操作系統(tǒng)層與硬件系統(tǒng)之間虛擬化層,向上遷移,使得操作系統(tǒng)能夠與硬件環(huán)境一樣,可以共享和復用,從而使得用戶關于應用的開發(fā)、部署和維護能夠以一個更靈巧、輕量化的方式進行。
于是,就出現了“容器”,以及基于容器開發(fā)的云原生。
容器也是一種虛擬技術:如果說虛擬機是一種存在于硬件層和操作系統(tǒng)層間的虛擬化技術,重點實現硬件棧虛擬化,關注IaaS層的IT基礎設施和物理資源;而容器則是存在于操作系統(tǒng)層和函數庫層之間的虛擬化技術,更關注在操作系統(tǒng)級別進行虛擬化,目標更傾向服務于PaaS應用層。
有一個技術領域理性的比喻:虛擬機就像是碼頭上的不同倉庫,為了保證倉庫里面堆放的各種貨物安全,每個倉庫都需要配置包括電力系統(tǒng)、水力系統(tǒng)等一整套標準的裝置;而容器就像集裝箱,能把所有不規(guī)整的貨物都用標準化大小的箱子存放起來,不僅不需要額外的系統(tǒng)配置,而且封裝和運輸更加方便。這個比喻可能與2013年推出市場的容器技術代表Docker的LOGO有關,但是的確說出了虛擬機和容器之間最大的區(qū)別。
Kubernetes與容器的關系是:Kubernetes是一個容器集群管理系統(tǒng),是一個管理容器的平臺,一個用于管理云平臺中多個主機上的容器化的應用,目的是讓部署容器化的應用簡單并且高效。作用類似于在虛擬機層面的vSphere。
“從企業(yè)的角度來說,他們在部署Kubernetes的時候碰到的復雜性主要體現在兩個方面:首先是如何能夠以一種可擴展的方式來迅速的運行操作Kubernetes,另外是如何讓廣大的開發(fā)人員能夠輕而易舉地用上Kubernetes?!盋raig McLuckie在接受采訪時強調,VMware Tanzu的初心是為了使Kubernetes更加簡單易用:“通過Tanzu Kubernetes Grid(TKG),把Kubernetes直接集成到了vSphere當中,這樣我們讓Kubernetes更加易于獲得和運維,無論用戶是在構建他們的私有云或者是在進入公有云環(huán)IaaS境,Kubernetes已經自然地成為基礎架構的一部分;Tanzu Mission Control(Tanzu任務控制)解決的問題是把所有這些運行在不同環(huán)境當中的集群都來統(tǒng)一地加以管理,在它的整個全生命周期管理的一系列工具當中,包括身份管理、安全能力、配置管理、審計管理、數據保護等,現在也能夠直接用于支持Kubernetes的運維,而且能夠通過API來實現接入;對于開發(fā)者來說,我們有必要讓Kubernetes像Linux一樣,是一種在后臺運行的技術,你不需要隨時關注它,但是它能解決你在開發(fā)當中的問題,因此我們需要讓Kubernetes能夠去跨越各種類型的計算資源,對各種集群進行整合化管理,能夠在整合化的集群之上來部署應用,同時還要具備智能化的管理工具——Tanzu Advanced就提供了豐富的技術和能力,不光使得Kubernetes簡單易用,而且能夠幫助用戶不僅對現有的應用程序進行現代化,而且能夠更加高效地構建新型應用?!?/p>
至此,我們實際上就可以圍繞VMware的產品路線總結出一個有關虛擬化技術進階的大致脈絡:在虛擬機層面具有技術和產品優(yōu)勢的VMware,對于Kubernetes的投入,實際上是希望將自身的虛擬技術的覆蓋范圍,從IaaS層的虛擬機向PaaS層的容器拓展,從關注企業(yè)IT基礎架構向關注企業(yè)應用拓展,而Tanzu,則通過搭建一個Kubernetes和vSphere的集成環(huán)境,實連接兩個層級的目的。
“在虛擬機機和容器之間,如果客戶做了一個二選一的選擇,都是有他們各自的原因和出發(fā)點?!盝oe Beda在回答筆者提問時認為,容器和虛擬機的技術差異使得其在滿足用戶個性化需求方面表現各異:“在自動化的基礎架構上 ,Kubernetes管理起來是最簡單的,而虛機實際上是提供了一種可自動化或者可編程性能最好的基礎架構。如果用戶所需要的資源的規(guī)模,與他們的物理機所具備的能力之間存在不匹配,那么通過虛擬機,我們能夠幫助用戶去創(chuàng)建一個符合他們規(guī)模需求的基礎架構環(huán)境,來運行他們的集群和工作負載?!蓖瑫r他也強調把兩個技術結合在一起所能夠帶來的巨大優(yōu)勢:“這兩個技術之間具有很強的互補性,相互集成的部署,能夠讓用戶把兩個技術的優(yōu)勢都發(fā)揮出來,獲得更高的開發(fā)效率、更優(yōu)的可移植性以及更好安全隔離等?!?/p>
采訪的最后,Craig McLuckie認為,vSphere在性能上的顯著優(yōu)勢,對Kubernetes起到了一個加速的作用。他強調:把Kubernetes內置到vSphere當中,讓那些已經基于vSphere構建了自身技術環(huán)境的企業(yè),或者過去主要在虛擬機環(huán)境中的企業(yè),可以有機會用到并得益于Kubernetes技術,豐富和加強這部分企業(yè)的整體技術組合。同時,也能夠讓Kubernetes的基于API的管理模式得到運用,在一個統(tǒng)一的環(huán)境中,對容器和虛擬機進行管理。
“一個更加優(yōu)秀的基礎架構能夠帶來更加優(yōu)秀的Kubernetes的體驗,而更好的Kubernetes的體驗,會帶來更好的服務和更高的效率。所以將來我們會看到:VMware通過把Kubernetes和VMware結合在一起,會在企業(yè)的應用程序開發(fā)團隊,與針對生產環(huán)境來做軟件解決方案的開發(fā)者、操作人員、運維人員之間,搭建了一個橋梁,這將來成為企業(yè)一個生機勃勃的創(chuàng)新來源?!盋raig McLuckie說。
“Harbor是可信的云原生的制品倉庫,是由我們VMware中國研發(fā)中心原創(chuàng)的一個開源項目:最早的是2016年開源出來,在中國社區(qū)先用起來,后來又轉到全球?!睆埡帲琕Mware中國研發(fā)技術總監(jiān)、CNCF Harbor開源項目創(chuàng)建人在接受采訪時始終在強調:事實上,VMware中國在支持開源技術布道、使用和社區(qū)貢獻方式始終有很大的投入,也取得了非常大的成績。其中,以與Kubernetes“同歲”、已經成為中國云原生用戶的主流容器鏡像倉庫的開源項目Harbor最為典型:“作為中國原創(chuàng)的第一個CNCF的開源項目,也是最早從CNCF畢業(yè)的中國的開源項目。目前,最新的一個CNCF的用戶調查里面反饋,Harbor在全中國的用戶使用率,生產系統(tǒng)達到了47%。這是在所有中國原創(chuàng)的CNCF項目里面是排第一的?!?/p>