雲原生引領全雲開發時代
簡介:雲原生是近幾年最火爆的技術熱詞之一,幾乎所有的雲端計算產品都會或多或少跟雲原生髮生關聯,雲原生正在重塑整個軟體的生命週期。但到底什麼是雲原生?雲原生帶來的最大的技術創新和未來機會是什麼?以及,圍繞雲原生,是否可以構建出一套雲上的開發和運維體系,打造新一代研發平臺,實現研發效率的最大化?
作者 | 叔同
來源 | 阿里技術公眾號
雲原生是近幾年最火爆的技術熱詞之一,幾乎所有的雲端計算產品都會或多或少跟雲原生髮生關聯,雲原生正在重塑整個軟體的生命週期。但到底什麼是雲原生?雲原生帶來的最大的技術創新和未來機會是什麼?以及,圍繞雲原生,是否可以構建出一套雲上的開發和運維體系,打造新一代研發平臺,實現研發效率的最大化?
以下內容整理自阿里云云原生應用平臺負責人丁宇(叔同)在阿里內部的技術分享,希望幫助技術同學更好地理解雲原生。
丁宇(叔同)
我經常在電梯裡聽見一些同學在討論雲原生,大家會問雲原生為什麼這麼火。我們將時間線倒推20年,當時最流行的是企業軟體架構,企業使用ERP、CRM做資訊化改革。十年前,消費網際網路開始崛起,那個年代最流行的是網際網路技術;而今天是產業網際網路盛行的時代,在雲端計算快速發展的背景下,企業需要加速數字化創新,打造數字韌效能力,雲原生應運而生。
一 因雲而生的雲原生
什麼是雲原生?這是很多同學都關心的問題。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和宣告式API。這些技術能夠構建容錯性好、易於管理和便於觀察的鬆耦合系統。結合可靠的自動化手段,雲原生技術使工程師能夠輕鬆地對系統做出頻繁和可預測的重大變更。
雲原生是一種新的計算方式,讓應用能夠充分使用雲的計算優勢。只有結合雲原生所提供的雲服務,改造應用的架構,才能夠更好地使用雲原生技術,以及更好地構建彈性、穩定、鬆耦合的分散式應用,解決分散式複雜性問題。此外,對架構的改造還意味著相關的開發模式、交付方式、運維方式等都要隨之改變,比如,採用微服務架構重寫應用、用宣告式 API和自動化工具升級運維方式等。簡單來說,雲原生使得整個軟體的生產流水線都發生了巨大的變化,而具體的變化程度又取決於企業對雲原生的使用程度。
那麼,雲原生和雲端計算的區別是什麼?我們認為,雲原生是雲端計算的再升級。雲端計算的優勢是資源、計算、儲存、網路的池化,這種池化帶來的好處是大規模的集約性管理,彈性、分散式無處不在,它可以用一種API進行運維管理,從而實現管理的自動化。今天,雲原生技術只有跟雲結合起來才能實現它的使命,去構建那些具備高彈性、可擴充套件、鬆耦合、容錯性好等特性的系統。
雲原生和雲端計算結合在一起是什麼?就是雲原生產品。今天,阿里雲對於雲原生有一個定義,叫生於雲、長於雲,因雲而生的產品、技術、軟體、硬體、架構,我們認為它都是雲原生。以阿里云為例,我們提供了大資料、中介軟體、資料庫、安全、音視訊,以及雲原生網路、彈性裸金屬伺服器、儲存等,這些都是雲原生產品。從這個維度來看,雲原生的內涵被極大地豐富了。而從企業客戶的角度,雲原生就是企業構建了新一代的軟體架構,也就是雲原生架構。
二 阿里巴巴15年雲原生實踐
2006年,我們開始探索網際網路分散式架構,這也是阿里巴巴雲原生實踐的起點。之所以要做網際網路分散式架構,是因為當時淘寶在快速發展過程中遇到了一些困難,比如300人開發3個系統,這會帶來一些衝突問題,如程式碼釋出、程式碼合併等,這些衝突導致研發團隊的效率大幅下降,業務推進不夠敏捷。因為這些痛點,我們提出要做服務化的拆分,也就是分散式系統。在2008年淘寶完成了服務化拆分,形成了三大核心中介軟體,並對行業進行了開源。
2011年,我們開始推進容器化的落地。為什麼要做容器化?要知道,在2011年全球做容器化改造的公司都屈指可數。要做容器化主要是因為我們開始重點關注資源利用率的問題,從資源的供給層面,過去有幾種形態,比如用純粹的物理機,這就意味著部署密度比較粗,因此利用率不高。如果用虛擬化進行隔離,就會產生一定的資源消耗。在2011年,阿里巴巴開始做容器化技術改造——T4專案。容器解決了三個核心問題,一是部署密度,二是運維效率,三是資源隔離。隨著Docker的出現,其容器映象的標準化能力對自動運維產生了非常強的推動,保證容器可以實現標準化的交付。基於此,阿里巴巴將Docker整合,推進更標準化的雲原生技術。
2015年,當我們的技術和產品成熟之後,就開始推進產品技術的商業化,並擁抱雲原生標準。在這段過程裡,阿里巴巴自身的業務發展也開始全面享受雲端計算紅利。比如雙11、雙12這樣峰值型業務,如何通過雲平臺去解決資源池化後帶來的極致彈效能力?從2015年開始,阿里雲開始支撐阿里巴巴雙11,與此同時,我們開始落地容器的統一排程以及底層資源池的統一。除此之外,我們也開展了多種工作,比如混合部署,實現技術棧的統一、資料的統一,從而大幅降低了資源成本,提升了運維效率,更好地推進業務的智慧化。
可以設想一下,一家公司有1萬名工程師,如果可以提升10%的研發效率,就能節約1000名工程師,這極大地釋放了我們的生產力。進一步,如果我們能有一些更高效的平臺,更先進的方法和流程,並融入到技術體系中,就會給技術人員的產能帶來巨大的提升。
2019年,對於阿里雲而言意義重大。在這一年,阿里雲支撐了阿里巴巴雙11核心系統100%上雲,線上業務容器規模近200萬、100%採用神龍裸金屬伺服器、計算價效比提升20%。緊接著在2020年,我們又完成了核心系統100%雲原生化,雲原生產品開始全面支撐集團大促,併成為全球最大規模雲原生實踐的新底座。這背後的原動力,就是利用雲原生的平臺、產品、工具,實現應用雲上生、雲上長。
事實上,基於伺服器的雲服務並不是雲時代的終態。試想一下,如果伺服器的概念被進一步抽象,那麼與伺服器有關的維護工作都會變成由雲來承擔,這就是我們常說的 Serverless。過去十年,雲正在逐步向 Serverless 演進。2016 年,阿里雲釋出的函式計算提供了函式級抽象,2019 年釋出的 SAE 提供了應用級抽象,這些產品都抹去了伺服器的概念,讓用雲方式得到極大的簡化,並逐漸成為趨勢。
三 阿里雲對雲原生的斷言
在企業上雲的趨勢下,我們看到越來越多的企業和開發者開始把業務與技術向雲原生演進。在雲原生時代,雲產品的核心競爭力是什麼?在我看來,雲產品的立身之本就是持續要做先進生產力的代表,這就要求雲產品具備硬核的技術能力,並能實現快速迭代。對於任何一家企業而言,自身的系統是很難具備如此頑強的生命力和競爭力。所以,阿里巴巴在2020年全面切換為雲原生產品支撐大促,一是認準了雲原生技術趨勢,二是雲產品給阿里巴巴內部的研發效能、資源利用率帶來極大的提升。
基於此,阿里雲對雲原生提出了三個斷言:
首先,容器+K8s將成為雲端計算的新介面。容器徹底改變了雲的使用方式,它解決了許多問題的同時,還創造了新的架構可能性。容器化是搭建雲原生的關鍵,如果說雲原生是一棟高樓大廈,那麼容器化便是這座大樓的底座。容器向上支撐多種工作負載和分散式架構,向下封裝基礎設施,遮蔽底層架構和異構環境的差異性,並能夠形成應用的打包映象分發交付標準。阿里雲容器服務 ACK 向下封裝了30款雲產品,對於整個自動化運維和雲平臺的互動形成了一個新的介面,從而提升了系統的彈效能力和自動化運維能力。同時,容器也推動了軟硬一體化的升級,如神龍裸金屬伺服器。
其次,對於開發者而言,雲原生正在重塑整個軟體生命週期。我們看到雲原生向下延伸推動軟硬一體化,向上延伸推動架構現代化,水平延伸解決研發運維全生命週期的挑戰,包括程式碼開發、DevOps、CICD流程、運維監控、可觀測等。雲原生與開發者的整個開發流程息息相關,是開發者不可忽視的重要助力。
最後,對於企業而言,雲原生是企業數字創新的最短路徑。雲原生對於企業技術演進的價值在於:首先是基礎設施的雲化,以容器為代表,將基礎設施非常平滑地搬到雲上,幫助企業完成基礎設施的雲化。二是核心技術網際網路化,雲原生將網際網路技術以標準化的方式傳遞給傳統線下企業,網際網路的技術、思路、理念、組織形態可助力傳統企業能力升級,實現低耦合、可擴充套件、小步快跑、快速迭代、敏捷開發、業務快速上線等。三是雲原生驅動應用架構向現代化演進。我們常說“一雲多芯”“雲邊一體”等理念,就是為了解決企業資料化、智慧化、移動化問題。在雲原生技術體系下,雲原生可以更好地推動企業 IT 體系變革。四是多中臺。雲原生幫助企業構建業務中臺、資料中臺、AI中臺等,因為數字化轉型的關鍵就是用資料將業務進行數字化和智慧化升級,從而更好地驅動業務迭代和創新。
阿里雲擁有國內最豐富的雲原生產品家族,有超過100款雲原生產品,近千個技術解決方案,包括雲原生DevOps、aPaaS&微服務、訊息和事件驅動、應用工具、Serverless架構等,以及雲原生資料庫、大資料/AI、應用交付和安全能力等。可以說,一家企業誕生於雲原生時代,可以把自己的 IT 體系基於雲去構建,阿里雲在其中可以提供最完整的技術方案和產品體系。
雲原生不是壟斷的技術,阿里雲也不是通過壟斷的方式贏得客戶,必須要靠先進的技術理念和硬核的技術實力。阿里雲容器服務已經連續三年入選Gartner公共雲容器競爭格局,產品豐富度與成熟度持續保持全球領先水平;阿里雲入選Forrester FaaS領導者象限,函式計算產品能力全球領先;阿里雲入選Gartner APM 魔力象限,國內唯一雲廠商,產品能力和戰略願景獲得分析師高度認可。
四 雲原生驅動全雲開發時代的到來
在雲原生快速發展過程中,也看到了一些趨勢:比如容器+K8s成為技術基礎設施。容器讓應用執行時與環境解耦,K8s讓資源管理和基礎設施解耦,向下封裝基礎設施層,遮蔽底層架構差異性,連線異構算力,雲邊端一體化,構建分散式雲;向上支撐多種異構工作負載,分散式、彈性可擴充套件、Mesh化解耦,推動應用架構現代化演進。可以說,容器和K8s已經變成了雲端計算時代的分散式作業系統。
我們也看到雲原生帶來開發模式的革新。一份來自全球開發者的調研顯示,傳統開發模式和雲原生開發模式形成了鮮明的對比。雲原生開發模式採用模組化架構,通過標準介面和協議進行通訊。在擴充套件性上,可以按需自動彈性擴充套件,並且具備良好的可移植性。這些特性已經顛覆了傳統開發模式。
除了在開發模式上的改變,我們也看到,在雲原生的驅動下,一個新的開發時代正在到來。
2021年底,68%的機構會在生產環境中使用容器,比去年增長39%,比兩年前增長240%。阿里在2016年實現了100%容器化,而在2021年,68%的企業將在生產環境中使用容器,可以確定的是,容器已經成為一個絕對的趨勢。
開發者雲上開發意願度達到68%。大量開發者已經感知到雲上開發所帶來的變化,包括前端/後端,網頁、移動端、小程式,邏輯、模型、元件等,雲上開發帶來了生產力的改進,效率的大幅提升等。
到2021年底,25%的開發者將使用Serverless產品。今天,我們已經開始大力投入Serverless產品,包括函式計算FC、Serverless應用引擎SAE、Serverless容器服務ASK、無伺服器基礎設施ASI、彈性容器例項ECI等。阿里雲與淘系、高德、閒魚也在探索Serverless的更多合作,大家也許沒有感覺到Serverless,但實際上很多技術已經Serverless化了。
五 佈局開源生態,推動全雲開發與實踐
阿里雲擁有國內最全面的雲原生開源貢獻。今天,阿里雲在 GitHub上開源專案總數超過2600+,涵蓋了大資料、雲端計算、AI、中介軟體、容器、Serverless等領域,擁有超過 30000+ Contributor,超百萬 GitHub Star,位列中國企業開源社群 GitHub 貢獻榜首。這其中,一些開源專案也成為了該領域的事實標準。比如 Dubbo 已經成為國內影響力最大、使用最廣泛的開源微服務框架;RocketMQ 是國內首個網際網路中介軟體的 Apache 頂級專案,也是常年霸榜國內第一的開源中介軟體專案。此外,我們還有應用管理引擎 KubeVela,去年剛開源的阿里巴巴第一個邊緣計算專案OpenYurt,分散式高可用領域的混沌工程工具 ChaosBlade 、服務註冊發現 Nacos 以及首個 Serverless 開發者平臺 Serverless Devs等。
面向整個技術社群,阿里雲把研發多年的技術成果回饋給全球頂級基金會,如開放原子開源基金會、 Apache 基金會等,阿里雲致力於打造一個開放的、標準的、健康良性的技術生態。可以說,一位開發者想要基於雲原生技術構建一套開源架構,完全可以在阿里雲生態裡找到自己的解決方案。阿里雲已經服務了大量企業級頭部的使用者,如愛奇藝、虎牙直播、南方航空、平安科技等,同時正在構建一套開放標準的技術體系,服務於全球開發者。
雲原生最開始提出來的時候,是以資源叢集管理與運維為切入點,但是今天如果要把所有的工作負載執行在一套基礎設施之上,還缺乏對應用的管理。所以我們提出,以應用為中心,關注點分離,把開發運維基礎設施、合作邊界、協議、方法全部定義出來,也就是一站式應用管理與交付平臺KubeVela。今年6月,KubeVela進入CNCF Sandbox,目前映象下載量突破30萬次,擁有20多家全球企業客戶。今年也非常榮幸被信通院立項作為行業標準OAM。
企業上雲是趨勢。阿里雲在國內率先開源了自研RocketMQ,成為 Apache 頂級開源專案。RocketMQ為使用者提供了高效能、高可靠、低延遲的訊息服務,成為業內流行的金融級業務訊息首選方案。
伴隨著雲原生技術的發展以及全面雲化成為大勢所趨,我們看到眾多企業客戶對訊息中介軟體的演進有著更深層次的訴求。接下來,我們將在社群和商業同期釋出 RocketMQ 5.0,全新定義“訊息、事件、流”一體化融合處理的新理念。RocketMQ 5.0將在基礎架構雲原生化、訊息流式處理以及事件驅動三個方面帶來變化。
首先,基於阿里雲大規模生產實踐的背景,RocketMQ5.0 將提供面向多種場景可調整的極簡彈性架構,幫助企業客戶在資源彈性、運維複雜度、業務生態創新等方面做好平衡;其次,RocketMQ5.0 將圍繞高價值訊息資料提供全新輕量化設計的流式處理框架,方便企業開發者就近處理訊息計算和分析;最後,面向未來,RocketMQ 5.0 會基於開放的標準,連線雲服務和開源生態,並配合 Serverless 開發模式,為使用者提供低程式碼、無伺服器的下一代事件驅動架構服務。
阿里雲通過大量的投入開源,建立更多的技術標準,幫助百萬開發者使用更先進的雲原生技術,讓社群生態和雲之間建立起非常好的連線,助力企業和雲的協同發展。
去年雙11,阿里落地了全球最大規模雲原生實踐。在2016-2019年,我們用了將近4年時間,讓雙十一的萬筆交易成本下降80%,今年雙11有望實現新的突破。其背後依靠的是統一排程,混合部署,分時複用,高彈效能力,從而大幅提升應用或叢集的資源利用率。
原文連結
本文為阿里雲原創內容,未經允許不得轉載。