圖檔來源@視覺中國
文|腦極體
大概兩年多前,腦極體的一位編輯離職了,“罪魁禍首”就是一個關于雲原生的選題,這直接讓他心理防線崩潰了。真不是他太脆弱,絕大多數人看到雲原生的複雜内容,恐怕都會懷疑人生。
點開雲原生計算基金會(Cloud Native Computing Foundation,CNCF)的沙盒,你會看到數百種不同的應用和解決方案,令開發者眼花缭亂;雲廠商們的雲原生産品,有的甚至超過了100款。
市面上關于雲原生的科普,畫風往往是這樣的:《一文了解雲原生四要素》《細數雲原生的5大特征》《淺談雲原生架構的 7 個原則》《雲原生應用的12要素》……看起來都很專業,但是中英混雜、陌生概念無數,而且不同雲廠商、不同機構的說法還各有不同。甲方和讀者隻是想搞清楚火爆的雲原生究竟是什麼東西,又不是要考研……最後大多數看不懂的普通人隻好躺平,任技術人士們自嗨。
雲原生概念火了多久,就科普了多久。難以說清的原因有很多:
一是技術體系龐雜。雲原生并不是一種特定的技術,而是圍繞雲計算的應用邏輯,搭建起來的一系列具體技術和産品,不同的雲廠商往往會從不同的角度給出各自的解釋。看看這張NCNF的雲原生知識圖譜,誰看了不迷糊?
另一個原因是雲原生本身還在不斷演進發展之中。其定義、特征、核心技術等都在不斷發展,比如2015年雲原生計算基金會(CNCF)成立,對雲原生定義進行了修改,2018年定義又進一步完善。今天還是十二要素,轉眼又變成了十五要素;剛合并Docker,随後又宣布棄用。這樣快速變化的局面中,要清楚地記住雲原生各種名詞,屬實有點難。
想要從一個明确且公認的客觀定義來了解雲原生,确實是很困難的一件事。不過,IT世界裡流行一句話:“語言隻是工具,思維才是最重要的。”同理,了解雲原生的根本,思維才是最重要的。
《雲原生發展白皮書(2020)》中也指出,雲原生是面向雲應用設計的一種思想理念,能夠充分發揮雲效能的最佳實踐路徑。
雲原生究竟是一種什麼思想呢?我們覺得,雲原生其實就是企業上雲的本土化政策。
大家可能見過很多海外企業來到中國,或者中國品牌出海,都需要結合當地消費者的經濟、文化、生活習俗等,進行一系列融入性調整。同理,比起簡單将資料和應用遷移到某朵雲上,一開始就生于雲、長于雲的“雲原生”,更具吸引力,也被認為能更好地發揮雲服務的優勢。這是很多企業,尤其是非數字原生的實體企業十分看重的。
雲原生,就像一個雲世界裡土生土長的土著,被看好它的人們視作優質偶像、未來頂流的潛力股。那麼,從2019年的爆紅至今,雲原生究竟發展到哪一步了?
從虛火到實紅:雲原生這三年
雲原生概念有很多,這裡我們從比較客觀的時間線來梳理一下,看看雲原生是怎麼被一衆“星探”們挖掘追捧并成為網紅的。
大多數人會追溯到2010年,WSO2公司CTO Paul Fremantle在部落格裡也提到“Cloud Native”的概念。不過關于雲原生核心技術之一容器,則可以追溯到更早的2003年,谷歌提出了一個可擴充的分布式檔案系統Google File System。
2013年,Pivotal公司CTO Matt Stine在推特上提出,雲原生是一系列技術的集合。同年,開源容器軟體Docker釋出,以Docker為代表的容器技術開始興起。
2014年,谷歌釋出Kuberbetes開源項目,這也是目前容器編排使用最廣泛的工具。
2015年,Matt Stine在《遷移到雲原生應用架構》一書中提出了雲原生的技術特征,包括十二因素、微服務、靈活基礎設施、基于API的協作,反脆弱性等。同年,CNCF成立,将雲原生定義為容器化封裝、自動化管理、面向微服務。
2017年,Matt Stine重新歸納了雲原生的六個特質,Pivotal官網則給出了雲原生的最新定義,概括為4個要點:容器、微服務、DevOps、持續傳遞。
2018年,CNCF又新增了兩個定義:服務網格(Service Mesh)和聲明式API。同時期,幾乎所有主流雲計算供應商如阿裡雲、華為雲、騰訊雲等都加入了CNCF,Kubernetes 和容器成為雲廠商的既定标準。
細水長流之後,雲原生在2019年迎來了概念爆炸的元年。主流雲廠商都開始宣布全面上雲,并大力推廣、開源雲原生相關技術。《雲原生發展白皮書》顯示,2019 年中國雲原生市場規模已達 350.2 億元,由大中型網際網路企業主導雲原生産業發展。
2020年,雲原生熱度繼續升溫。調查顯示,中國社群的 CNCF 項目使用量增長了 64%,2 個來自中國的項目Harbor 和 TiKV畢業,使用量出現跨越式增長。
2021年,全球雲原生應用持續走高,Forrester資料顯示,組織中容器和無伺服器技術的使用率在一年内都增長了75%以上。
這有點像一群經紀公司推出了“雲原生”這名練習生,沒想到真的戳中了B端客戶的審美點,迎來了爆發增長。“雲原生”熱度一直持續,已經從虛火變成實紅了。
雲原生,戳中了企業的哪些審美點?
企業是不會因為一個虛幻的概念或者趨勢,就用真金白銀來買單的。顯而易見,雲原生能夠爆發,還是在于相關技術或産品,戳中了雲計算客戶的審美點,成為數字化的剛需。
其實企業采用雲原生就和搭建本地團隊一樣,都是看到了一些本土化的妙處。
1.快速響應。海外企業想要适應中國市場,最好的方式當然是雇傭中國人來快速響應使用者的需求,同理,越來越多的企業需要通過數字技術、線上軟體進行作業,這時候就需要更快響應、更快擴容、更為靈活的雲服務,來替代傳統機房和IDC這樣的傳統IT基礎設施。僅僅是用上雲來替代伺服器還不夠,一些企業還希望将業務和服務也搬上雲,這就需要從應用開發到部署維護都在雲上完成,容器等雲原生技術在上雲和遷雲中的優勢自然受到歡迎。
2.降低成本。相比海外高管外派到中國,雇傭本地人的成本也是大大降低了。而企業在上雲、應用開發、運維等過程中,對IT人員的需求也越來越多,但傳統實體企業顯然不是IT技術人員的首選,而且用人成本也是企業難以承受之重,這時候雲原生通過一系列産品、工具、方法,可以加速軟體開發程序,減少相關資源的投入,降低運維人員的壓力。這對于企業推進數字化是非常有吸引力的。
3.場景化方案。本土化政策當然不是随便抓來一個當地人,而是根據行業特性如零售、汽車、制造等有針對性地搭建團隊。以前,雲商場大多是提供雲伺服器、CDN、消息中間件等基礎設施,但對于一些數字化轉型的實體企業來說,更傾向于購買解決方案,将雲伺服器、硬體、API、AI、邊緣計算等各種能力,一起打包購買,這種針對企業需求提供場景化産品和解決方案的商業模式,也讓包含基礎設施和應用服務的雲原生成為雲廠商的新機會。
4.自由度。企業在上雲過程中,本能地不希望被某一朵雲徹底綁定,無論是從降低成本的角度,還是容災、安全的角度,将業務負載分别部署到不同雲平台是大勢所趨,而混合多雲就要求應用能夠在不同平台、公有雲、私有雲和混合雲上分布式部署,并且可遷移,而基于Kubernetes 和容器的一系列雲原生改造,則能夠更好地應對遷移問題。
換句話說,市場需要新的雲計算,而雲原生的各種技術和方法論,恰恰好滿足了企業客戶的需求,是雲市場向前發展的必然潮流。
優質偶像雲原生,需要怎樣的業務能力?
大家可能會問,究竟怎樣的雲原生才算優質偶像呢?其實雲原生的業務能力既有基本的唱跳RAP(劃掉)微服務、容器、DevOps,也有新近加入的AI、安全等能力。這裡幫大家簡單梳理一下。
首先就是微服務。
就像偶像都得看臉一樣,幾乎每個雲原生的定義都包含微服務,這可以說是雲原生的安身立命之本。與微服務相對應的就是單體服務,即部署到某一台主機或一個程序裡的服務,如果主機壞了,服務就不能用了。而微服務則是一組小型服務,每個服務都以一個獨立程序的方式運作,僅實作一種功能。這樣一來,開發更加靈活,微服務的每個元件都可以獨立自治,隻疊代改進某個子產品即可,二來系統容錯性、可靠性也更強,一個或某個微服務出現故障時,其他微服務不會受到影響。
微服務早在2014年就被提出了,為什麼伴随着雲原生的走紅才被看重呢?答案就是容器技術的發展。
微服務雖好,但運作在虛拟機上,虛拟機之間互相通信,形成錯綜複雜的關系,管理起來就非常麻煩,還會出現資源浪費的情況。而容器技術,就以集裝箱的方式将一個應用的資源打包在一個容器内,再通過Kubernetes這樣的容器編排器,就能夠很好地管理資源與應用資料,成為微服務的最佳載體。2016年,Kubernetes在三大編排中勝出,成為目前最為主流的容器編排器,也是CNCF孵化的第一個“畢業”項目,成為雲原生基礎設施的事實标準。
随着微服務的增多,服務與服務之間需要通過内部網絡或外部網絡進行通信,如何管理這些服務,就帶動了服務網格(Service Mesh)的出現。
Service Mesh是輕量級的網絡代理,提供一個代理執行個體Sidecar,将對應的服務一起部署在環境中,并形成一種網絡狀的依賴關系,這種架構使得服務網格可以處理服務之間通信的任何問題,如負載均衡、服務發現等,同時将所有名額資料提供給運維人員觀測,對流量進行控制,通過加密服務間通信、認證服務等實作更高的安全性。
是以,Service Mesh也成為下一代微服務的架構基礎。
微服務的開發離不開開發人員的努力,傳統IT基礎設施還需要開發人員考慮伺服器等基礎設施和底層資源,而雲服務的普及,也推動了Serverless全托管計算服務的出現,Serverless讓研發運維與基礎能力、基礎設施、伺服器解耦,消除了底層基礎設施的開發和運維等工作,可以自動彈性伸縮,大幅降低了資源容量規劃的難度,開發人員隻需要聚焦在核心業務、編寫代碼即可。
除了開發環節,雲原生也為DevOps帶來了質的飛躍。DevOps(Development+Operations),彌合開發和運維之間的鴻溝,能夠大大提高軟體開發品質、縮短開發周期、確定持續傳遞。而相比于傳統IT基礎設施,雲原生的容器技術和Kubernetes編排,讓跨平台應用成為可能;Service Mesh提升了運維和管控的靈活性;Serverless則讓運維對開發透明,根據資源自動擴縮容。DevOps又反過來推動了容器技術的發展。
随着越來越多的應用和服務向微服務、容器化遷移,API網關成為微服務叢集的入口,連接配接微服務化的業務架構。而雲原生的API設計理念,則是聲明式API——即需要向系統聲明期望的運作狀态,如果出現于期望狀态不一緻的情況,Kubernetes這樣的雲原生工具就會根據聲明做出對應的操作。
采用聲明式API,一旦系統中的元件出現故障,隻需要檢視聲明狀态,就可以确定需要執行的操作了。而傳統的過程式設計,則是描述達到期望狀态的一系列操作,出現故障往往要逐個排查哪一步操作出現了問題。顯然,聲明式API大大減少了開發和運維人員的工作量。
雲原生技術的漸次落地,也影響到了許多傳統的雲計算技術,比如要滿足原生彈性伸縮、智能運維、跨平台遷移等需求。傳統的資料庫也需要轉變,以雲原生的形式進行傳遞,于是出現了DBaaS(DataBase as a Service,資料庫即服務)。
企業在引入雲原生的時候,本質是希望上雲賦智,獲得運作AI模型進行訓練推理的能力,這就推動雲廠商研發出基于雲原生的AI系統,通過容器技術和編排排程能力,對機器學習的算法進行資源彈性排程,以滿足AI對高性能算力的需求,提高AI訓練推理的效能,讓AI服務在雲上應用時更加穩定高效。
上雲之後如何確定安全,雲原生也帶來了截然不同的解題思路。相比傳統安全機制的碎片化、複雜化,雲原生安全體系模糊了伺服器和硬體終端的實體邊界,讓零信任等技術趨勢得以落地,可以實作統一的身份接入、統一的全局管理、統一的網絡安全連接配接,覆寫企業上雲的全流程、全方位、全環節,催生了雲防火牆、網絡微隔離、Web應用防火牆、應用層鑒權、雲安全中心等雲原生安全産品和技術方案。
不難看出,雲原生确實是一個寶藏優質偶像,代表了一種可擴充、高效,能夠給企業數字化、雲化帶來非常多切實有效的助益。不過,要想成為頂流,可能還欠點火候。
雖不達亦不遠矣:雲原生的頂流之路還有幾步?
成功卡位在客戶的審美取向,又有很強的業務能力,雲原生的爆紅似乎指日可待。但要客觀看到,雲原生走向産業的過程中,還需要跨越一些現實問題。
一方面,雲原生雖好,但規模落地尚待時日。
首先,不是所有行業和企業都看好雲原生。公有雲是雲原生的基座,然而對于一些資料敏感的行業及企業來說,還是更傾向于在本地伺服器或私有雲上部署,比如金融、醫療,以及電信、政府/國防領域的開發人員使用公有雲的比例就相對較低。
其次,實體行業的雲原生改造需要心智培養。《劍指雲端:引領企業IT未來的最佳實踐》一書中曾提到,雲遷移是一項艱苦的工作,數字原生的網飛公司,雲遷移就用了整整七年,才完成全面遷移,過程中選擇了雲原生方法,幾乎重構了自身所有技術方法,并從根本層面改變了企業的營運方式……将網飛全面改造成一家雲原生企業,是一項費時費力的大工程,更何況大量非數字原生的實體企業。這些企業往往已經投入了大量資産建設實體機或虛拟機,要一下子遷移到雲原生,需要在成本、組織結構、業務流程、人員教育訓練、企業文化等各個方面一同轉變,這個過程的風險和成本都是比較高的。
當然,這三年來我們也看到各個頭部雲廠商在積極地布局雲原生生态,通過人才培養、行業共創、産教融合等方式,不斷降低雲原生的認知門檻。比如阿裡雲的雲原生人才培養合作計劃、華為雲的全球化雲原生交流平台 “創原會”、 騰訊雲釋出的雲原生成熟度标準體系和“雲原生開源白皮書“等,伴随着雲原生的開源開放與标準化,去拓展企業的雲原生實踐,培養使用者心智。
另一方面,白熱化導緻同質化,雲原生競争進入差異化賽道。
對于雲廠商來說,在日趨同質化的市場競争中需要新的熱點來赢得新使用者,而随着“雲原生”成為市場新風口,很快又成為雲廠商競争白熱化的焦點。
大量雲原生技術都是開源的,頭部雲廠商投入研發,可以很快打造出自己的雲原生産品,結合各自沉澱的大量雲技術與産品,很容易就打造出了各類“最全雲原生産品體系”,形成了亂花漸欲迷人眼的局面。
比如各家都會強調自己擁有微服務、容器化、Mesh、Serverless、DevOps等雲原生能力,能夠滿足企業對靈活、彈性、可靠、低代碼甚至無代碼的需求。反而沒有了記憶點,又進入了同質化競争的怪圈,最後企業客戶還是看誰家價格低、誰家管道關系好選誰。
不過,近兩年來,一些雲廠商也已經開始打造差異化的雲原生能力。比如從底層硬體角度,已經出現了專門針對雲原生的晶片,充分釋放伺服器性能,進而降低使用者使用成本;還有的廠商将AI、知識計算等技術與雲原生結合,推出持續優化雲上應用AI的效能,加速行業AI落地,專門滿足企業業務智能化的需要;還有的雲廠商将自身的核心技術,如AI、影視渲染、資料庫、存儲等,建構更具特色的雲原生解決方案。
面對數字時代,非數字原生企業很容易産生隔閡和焦慮,雲原生提供了一種迥然不同的數字本土思維,它根植于雲、生長于雲、應用于雲、運作于雲,與企業的轉型焦慮緊緊膠合在一起,将這個原本抽象的概念推向了爆火。
可以預見的是,随着雲原生更多地嵌入産業、雲服務逐漸變得無處不在,未來有一天,我們将不會在意什麼是雲原生,因為所有的企業都是雲原生企業,所有的雲技術都是雲原生技術。
在這之前,高速成長的雲原生仍然值得我們關心,并期待。