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