2019 年,容器技術生態會發生些什麼?

阿里系統軟體技術發表於2019-03-05

2019 年,容器技術生態會發生些什麼?

作者|阿里雲智慧事業群高階技術專家 張磊

1

Kubernetes 專案被採納度將持續增長

作為“雲原生”(Cloud Native)理念落地的核心,Kubernetes 專案已經成為了構建容器化平臺體系的預設選擇。但是,不同於一個只能生產資源的叢集管理工具,Kubernetes 專案最大的價值,乃在於它從一開始就提倡的宣告式 API 和以此為基礎“控制器”模式。

在這個體系的指導下, Kubernetes 專案保證了在自身突飛猛進的的發展過程中 API 層的相對穩定的和一定的向後相容能力,這是作為一個平臺級專案被使用者廣泛接受和認可的重要前提。更重要的是,Kubernetes 專案為使用者提供了寶貴的 API 可擴充套件能力和良好的 API 程式設計正規化,催生出了一個完全基於 Kubernetes API 構建出來的上層應用服務生態。可以說,正是這個生態的逐步完善與日趨成熟,才確立了 Kubernetes 專案如今在雲平臺領域牢不可破的領導地位,也間接宣告了其它競品方案的邊緣化。

與此同時,上述事實標準的確立,也使得“正確和合理的使用了 Kubernetes 的能力”,在某種意義上成為了評判上層應用服務框架(比如 PaaS 和 Serverless )的一個重要依據:這不僅包括了對框架本身複雜性和易用性的考量,也包括了對框架可擴充套件性和演進趨勢的預期與判斷。

不過,相比於國外公有云上以 Kubernetes 為基礎的容器化作業的高佔比,國內公有云市場對容器的採納程度目前仍然處於比較初步的水平,直接販賣虛擬機器及其關聯 IaaS 層能力依然是國內絕大多數公有云提供商的主要業務形態。所以,不同於國外市場容器技術增長逐步趨於穩定、Kubernetes 公有云服務已經開始支撐頭部網際網路客戶的情況,Kubernetes 以及容器技術在國內雲端計算市場裡的依然具有巨大的增長空間和強勁的發展勢頭。

不難預測,Kubernetes 專案在國內公有云上的逐漸鋪開,會逐漸成為接下來幾年國內公有云市場上的一個重要趨勢。而無論是國內外,大量 Kubernetes 專案相關崗位的湧現,正是驗證這個趨勢與變化的一個最直接的徵兆。

2

“Serverless 化”與“多樣性”

將成為上層應用服務生態的兩大關鍵詞

當雲上的平臺層被 Kubernetes 專案逐步統一之後,過去長期糾結在應用編排、排程與資源管理上裹足不前的 PaaS 專案得到了生產力的全面釋放,進而在雲平臺層之上催生出了一個日趨多樣化的應用服務生態。

事實上,這個生態的本質與 2014 年之前的 PaaS 生態沒有太大不同。只不過,當原本 PaaS 專案的平臺層功能(編排、排程、資源管理等)被剝離了出來之後,PaaS 終於可以專注於應用服務和釋出流程管理這兩個最核心的功能上,開始向更輕、更薄、更以應用為中心的方向進行演進。而在這個過程中, Serverless 自然開始成為了主流話題。

這裡需要指出的是,Serverless 從 2014 年 AWS 釋出 Lambda 時專門用來指代函式計算(或者說 FaaS)發展到今天,已經被擴充套件成了包括大多數 PaaS 功能在內的一個泛指術語,即:Serverless = FaaS + BaaS。而究其本質,“高可伸縮性”、“工作流驅動”和“按使用計費”,可以認為是 Serverless 最主要的三個特徵。這也是為什麼我們會說今天大家所談論的 Serverless,其實是經典 PaaS 演進到今天的一種“極端”形態。

伴隨著 Serverless 概念本身的“橫向發展”,我們不難預料到,2019 年之後雲端的應用服務生態,一定會趨於多樣化,進而覆蓋到更多場景下的應用服務管理需求。並且,無論是 Function,傳統應用,容器,儲存服務,網路服務,都會開始嘗試以不同的方式和形態嵌入到“高可伸縮性”、“工作流驅動”和“按使用計費”這三個特徵當中。當然,這種變化趨勢的原因也不言而喻:Serverless 三個特徵背後所體現的,乃是雲端應用開發過程向“使用者友好”和“低心智負擔”方向演進的最直接途徑。

而這種“簡單、經濟、可信賴”的樸實訴求,正是雲端計算誕生的最初期許和永恆的發展方向。而在這種上層應用服務能力向 Serverless 遷移的演進過程中,不斷被最佳化的 Auto-scaling 能力和細粒度的資源隔離技術,將會成為確保 Serverless 能為使用者帶來價值的最有力保障。

3

看得見、摸得著、能落地的“雲原生”

自從 CNCF 社群迅速崛起以來,“雲原生”三個字就成了各大雲廠商競相角逐的一個關鍵詞。不過,相比於 Kubernetes 專案和容器技術實實在在的發展和落地過程,雲原生(Cloud Native)的概念卻長期以來“曲高和寡”,讓人很難說出個所以然來。

其實,“雲原生”的本質,不是簡單對 Kubernetes 生態體系的一個指代。“雲原生” 刻畫出的,是一個使使用者能低心智負擔的、敏捷的,以可擴充套件、可複製的方式,最大化利用”雲“的能力、發揮”雲“的價值的一條最佳路徑。而這其中,”不可變基礎設施“是“雲原生”的實踐基礎(這也是容器技術的核心價值);而 Kubernetes、Prometheus、Envoy 等 CNCF 核心專案,則可以認為是這個路徑落地的最佳實踐。這套理論體系的發展過程,與 CNCF 基金會創立的初衷和雲原生生態的發展歷程是完全一致的。

也正是伴隨著這樣的發展過程,雲原生對於它的使用者的意義,在2019年之後已經變得非常清晰:是否採用雲原生技術體系,實際上已經成為了一個關係到是不是要最大化”雲“的價值、是不是要在”雲“上贏取最廣泛使用者群體的一個關鍵取捨。這涉及到的,關係到整個組織的發展、招聘、產品形態等一系列核心問題,而絕非一個單純的技術決定。

明白了這一層道理,在 2019 年,我們已經不難看到,國內最頂尖的技術公司們,都已經開始在雲原生技術框架下發起了實實在在的技術體系升級與落地的“戰役”。顯然,大家都已經注意到,相比於糾結於“雲原生到底是什麼”這樣意識形態話題,抓緊時間和機遇將 Kubernetes 及其周邊核心技術生態在組織中生長起來,並藉此機會完成自身基礎技術體系的轉型與升級,才是這些體量龐大的技術巨人趕上這次雲端計算浪潮的不二法寶。在這個背景下,所謂“雲原生”體系在這些公司的落地,只是這個激動人心的技術革命背後的一個附加值而已。

而在”雲原生”這個關鍵詞的含義不斷清晰的過程中,我們一定要再次強調:”雲原生不等於 CNCF,更不等於 Kubernetes“。雲原生固然源自於 Kubernetes 技術生態和理念,但也必然是一個超越 CNCF 和 Kubernetes 存在的一個全集。它被創立的目的和始終在堅持探索的方向,是使使用者能夠最大化利用”雲“的能力、發揮”雲“的價值,而不是在此過程中構建一個又一個不可複製、不可擴充套件的“巨型煙囪”。

所以說,雲原生這個詞語的準確定義,是圍繞著 Kubernetes 技術生態為核心的,但也一定是一個伴隨著 CNCF 社群和 Kubernetes 專案不斷演進而日趨完善的一個動態過程。而更為重要的是,在這次以”雲“為關鍵詞的技術革命當中,阿里巴巴很可能成為”雲原生“的一個重要的定義者。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555606/viewspace-2637556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章