溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

阿里巴巴的云原生與開發(fā)者

發(fā)布時(shí)間:2020-06-25 06:51:23 來(lái)源:網(wǎng)絡(luò) 閱讀:203 作者:阿里系統(tǒng)軟件技術(shù) 欄目:云計(jì)算

作者 | 李響 阿里云資深技術(shù)專家

*××ד容器”,可下載云棲大會(huì)容器專場(chǎng)全部 PPT**

摘要:利用云原生技術(shù)構(gòu)建應(yīng)用簡(jiǎn)便快捷,部署應(yīng)用輕松自如,運(yùn)行應(yīng)用按需伸縮。如今,云原生已經(jīng)成為下一代技術(shù)發(fā)展的趨勢(shì)。在?2019?杭州云棲大會(huì)開發(fā)者峰會(huì)上,阿里巴巴資深技術(shù)專家李響就為大家分享了阿里巴巴的云原生技術(shù)與開發(fā)者的那些故事。

為什么選擇云原生?

云原生的本質(zhì)目標(biāo)就是充分釋放云計(jì)算帶來(lái)的紅利,阿里巴巴希望開發(fā)者能夠使用云上極致彈性的資源交付能力,也能夠使用云上極為便捷的產(chǎn)品和服務(wù)。阿里巴巴實(shí)踐云原生也已經(jīng)走過了幾年時(shí)間,并在去年啟動(dòng)了全站上云。阿里巴巴希望業(yè)務(wù)可以更好地?fù)肀г疲尤娴赝七M(jìn)云原生。

阿里巴巴的云原生與開發(fā)者cdn.com/c33ee11d057a67bd0dae7ff6157050562d0c6f14.jpeg">

云原生既帶來(lái)了技術(shù)紅利,同時(shí)也帶來(lái)了業(yè)務(wù)紅利。

  • 在資源效率方面,云原生為資源效率帶來(lái)了極大提升。使用容器、調(diào)度等技術(shù)不僅提高了單機(jī)維度的部署密度和資源效率,還提高了集群維度資源配置的合理性和使用率。除此之外,將業(yè)務(wù)搬到云上,還可以使用云的極致彈性的資源交付能力,既能夠應(yīng)對(duì)流量洪峰,也降低了資源的使用成本。

  • 在開發(fā)效率方面,使用?Kubernetes?這樣的平臺(tái)增強(qiáng)了運(yùn)維自動(dòng)化的能力,也增強(qiáng)了對(duì)應(yīng)用和資源進(jìn)行編排的能力,并降低了運(yùn)維負(fù)擔(dān),提高了開發(fā)效率。同時(shí),阿里云也在推動(dòng)?CI/CD 系統(tǒng)的演進(jìn),希望加速應(yīng)用從完成到上線的過程,并提高這一過程的穩(wěn)定性和確定性,提高開發(fā)人員迭代的信心。此外,阿里云也希望將通用框架下沉到基礎(chǔ)設(shè)施中,使得開發(fā)者能夠在多語(yǔ)言的環(huán)境下更容易地接入和使用平臺(tái)的能力,其中具有代表性的就是對(duì)服務(wù)網(wǎng)格的探索。

  • 在標(biāo)準(zhǔn)與開放方面,通過云原生可以幫助阿里巴巴實(shí)現(xiàn)基礎(chǔ)設(shè)施和生態(tài)標(biāo)準(zhǔn)的完全融合。這不僅可以將開源生態(tài)中的新技術(shù)、新理念引入到阿里巴巴的基礎(chǔ)設(shè)施中,利用阿里內(nèi)部的大規(guī)模場(chǎng)景和復(fù)雜業(yè)務(wù)進(jìn)行打磨、錘煉,并將經(jīng)過打磨的結(jié)果回饋給社區(qū),讓它帶給廣大開發(fā)者更多的技術(shù)紅利。還可以將打造的技術(shù)引入阿里云,打造出一套完整的云原生產(chǎn)品技術(shù)家族,幫助云上的開發(fā)者。

從 Kubernetes 開始

談到實(shí)踐云原生,其實(shí)可以從?Kubernetes?這個(gè)云原生的基石開始。從?Kubernetes?開始實(shí)踐云原生的原因主要有兩點(diǎn):

  • 一是?Kubernetes?向下可以對(duì)接各種不同的資源層,既可以對(duì)接像阿里云這樣的公有云,也可以對(duì)接專有云,因此可以利用?Kubernetes?構(gòu)建混合云平臺(tái)。
  • 二是?Kubernetes?向上提供了強(qiáng)大的自動(dòng)化運(yùn)維能力、編排能力以及強(qiáng)大的拓展性,因此可以在?Kubernetes?上層構(gòu)建一些垂直性的平臺(tái)能力,比如可觀測(cè)性和服務(wù)治理以及無(wú)服務(wù)化。基于這些垂直能力,可以進(jìn)一步構(gòu)建更貼近業(yè)務(wù)的平臺(tái),這也正是?Kubernetes?本身“Platform for Platform”的定位。

阿里巴巴的云原生與開發(fā)者

阿里巴巴的規(guī)模

阿里巴巴的規(guī)模非常龐大,內(nèi)部有超過?10?個(gè)集群,超過?10?萬(wàn)個(gè)節(jié)點(diǎn),以及超過百萬(wàn)級(jí)別的容器。那么,開源技術(shù)和開源項(xiàng)目是否能夠承受阿里巴巴的體量?能夠抗住雙11峰值規(guī)模的考驗(yàn)?zāi)兀?/p>

阿里巴巴堅(jiān)信一定要和上游共建生態(tài),阿里不希望只是去?Fork
Kubernetes,而希望去錘煉和打造?Kubernetes,因此有三個(gè)策略:

  • 第一個(gè)策略是對(duì)自身業(yè)務(wù)進(jìn)行負(fù)載的追蹤和模擬,并將追蹤和模擬的結(jié)果應(yīng)用到?Kubernetes?云原生體系中進(jìn)行測(cè)試。
  • 第二個(gè)策略是對(duì)于測(cè)試過程中發(fā)現(xiàn)的規(guī)模性問題,會(huì)持續(xù)優(yōu)化,并反饋到上游,使得整個(gè)社區(qū)受益,進(jìn)而推動(dòng)云原生領(lǐng)域的發(fā)展。
  • 第三個(gè)策略是持續(xù)推動(dòng)社區(qū)去接受這些可擴(kuò)展的能力,阿里巴巴也定制了自己的調(diào)度器和控制器,來(lái)滿足自身的業(yè)務(wù)場(chǎng)景。

Kubernetes 1.16?和?etcd 3.4

在最近發(fā)布的?Kubernetes 1.16?和?etcd 3.4?版本中,阿里巴巴和螞蟻金服也一同作出了大量貢獻(xiàn),單機(jī)的數(shù)據(jù)存儲(chǔ)規(guī)模提升了?50?倍,單集群節(jié)點(diǎn)規(guī)模也提升了?3?倍,完全可以滿足阿里巴巴這樣體量的公司在雙?11?這種場(chǎng)景下的需求。今年的?618,螞蟻金服已經(jīng)對(duì)?Kubernetes?集群進(jìn)行了驗(yàn)證,在即將到來(lái)的雙?11,阿里會(huì)對(duì)?Kubernetes?集群進(jìn)行再次驗(yàn)證。如果阿里巴巴可以使用?Kubernetes?作為云原生的基石,相信?99.9%?的企業(yè)都可以信任?Kubernetes?以及云原生技術(shù)。

阿里巴巴的云原生與開發(fā)者

應(yīng)用運(yùn)維與交付

除了云原生的基石?Kubernetes?以外,阿里巴巴還希望推動(dòng)整體基礎(chǔ)設(shè)施的全面升級(jí),希望把云原生技術(shù)的紅利傳導(dǎo)到更上層。

基礎(chǔ)設(shè)施中一個(gè)重要的應(yīng)用就是交付和運(yùn)維,以前面向虛擬機(jī)的交付和運(yùn)維非常復(fù)雜,并且不同企業(yè)有自己不同的運(yùn)維模式和方法,可能是手動(dòng)也可能是半自動(dòng),甚至在同一家企業(yè)內(nèi),運(yùn)維手段也不盡相同。云原生倡導(dǎo)的是統(tǒng)一的平臺(tái)和統(tǒng)一的理念,希望能夠?qū)崿F(xiàn)自動(dòng)化運(yùn)維,因此構(gòu)建統(tǒng)一的應(yīng)用模型和統(tǒng)一的應(yīng)用架構(gòu)分層就非常重要。

因此,阿里巴巴也同社區(qū)一起在推進(jìn)云原生領(lǐng)域中應(yīng)用交付與運(yùn)維分層模型。并且將這一理念在阿里內(nèi)部進(jìn)行了規(guī)模化落地,目前已經(jīng)推動(dòng)了阿里內(nèi)部的?4?個(gè)應(yīng)用管理產(chǎn)品線面向云原生全面升級(jí),構(gòu)建了?100?多個(gè)應(yīng)用。阿里認(rèn)為這套應(yīng)用結(jié)構(gòu)非常有意義和價(jià)值,因此也與?CNCF?成立了應(yīng)用交付領(lǐng)域小組,并由阿里的張磊擔(dān)任小組聯(lián)系主席?,希望與社區(qū)一起推進(jìn)這個(gè)項(xiàng)目。

阿里巴巴的云原生與開發(fā)者

服務(wù)網(wǎng)格

在云原生領(lǐng)域中,位于更上層的系統(tǒng)就是服務(wù)網(wǎng)格。服務(wù)網(wǎng)格的好處在于具有強(qiáng)大的多語(yǔ)言支持能力,能夠降低業(yè)務(wù)對(duì)接服務(wù)治理的難度,更易于實(shí)現(xiàn)統(tǒng)一的基礎(chǔ)設(shè)施升級(jí)。在真正的實(shí)踐中,Service Mesh?也會(huì)面臨一些挑戰(zhàn),比如如何支持更多的協(xié)議,能否在大規(guī)模場(chǎng)景下得以較好運(yùn)用,數(shù)據(jù)鏈路、服務(wù)面是否足夠穩(wěn)定等。

阿里巴巴的云原生與開發(fā)者

為了解決 Service Mesh 面臨的上述挑戰(zhàn),阿里巴巴和螞蟻金服率先決定選用一套與社區(qū)兼容的體系,并在阿里巴巴和螞蟻金服內(nèi)部的云原生系統(tǒng)當(dāng)中進(jìn)行打磨。今年 618 螞蟻金服已經(jīng)完成核心系統(tǒng)上到 SOFAMosn 的驗(yàn)證工作,在馬上來(lái)臨的今年的雙 11,阿里巴巴和螞蟻金服將會(huì)在核心系統(tǒng)大規(guī)模上線 Service Mesh,同時(shí)會(huì)把自身技術(shù)演進(jìn)的結(jié)果及時(shí)反饋到上游去,和社區(qū)一起把 Service Mesh 從一個(gè)非常先進(jìn)的技術(shù)變成一個(gè)非常穩(wěn)定和可靠的技術(shù),并且會(huì)在阿里云推出?Service Mesh?服務(wù),讓阿里云上的開發(fā)者能夠便捷地使用服務(wù)網(wǎng)格技術(shù)。

FaaS

FaaS 是開發(fā)人員非常喜歡的技術(shù)和概念,它可以極大地提升開發(fā)效率,使得開發(fā)者無(wú)×××以直接以響應(yīng)式模式來(lái)填充代碼。同時(shí),F(xiàn)aaS?可以幫助大家實(shí)現(xiàn)自動(dòng)的擴(kuò)容和縮容,當(dāng)遇到問題時(shí)也可以幫助大家自動(dòng)恢復(fù),免去了運(yùn)維的困擾。

阿里巴巴的云原生與開發(fā)者

但?FaaS?本身也存在幾個(gè)問題:

  • 第一個(gè)問題是如何找到一個(gè)既能夠適應(yīng)不同業(yè)務(wù),也能夠適應(yīng)復(fù)雜業(yè)務(wù)邏輯的編程模型。
  • 第二個(gè)問題是如何在提供運(yùn)維和彈性的自動(dòng)化能力的同時(shí),不增加額外的開銷。

阿里巴巴希望在今年的雙?11?考驗(yàn)?FaaS?服務(wù)的極致彈性和極致的啟動(dòng)時(shí)間,阿里也會(huì)把?FaaS?的研究結(jié)果及時(shí)反饋到上游和阿里云中去,為廣大開發(fā)者提供更大的便利和紅利。

開源社區(qū)貢獻(xiàn)

阿里巴巴與螞蟻金服對(duì)于核心開源社區(qū)的云原生領(lǐng)域都做出了巨大的貢獻(xiàn),并且在?etcd、Kata Containers、Containerd?以及?Dragonfly?等項(xiàng)目中都有核心?Maintainer。除這些項(xiàng)目外,我們也會(huì)持續(xù)向?Kubernetes?等云原生其他領(lǐng)域提供貢獻(xiàn),希望通過我們的努力,可以讓云原生成為一個(gè)穩(wěn)定、可靠的技術(shù),成為企業(yè)未來(lái)的?IT?基石。

阿里巴巴的云原生與開發(fā)者

引領(lǐng)開發(fā)者走向云原生

阿里巴巴在中國(guó)的開源社區(qū)以及開發(fā)者社區(qū)中有深厚的積累,之前就一直在運(yùn)作很多開源項(xiàng)目。阿里巴巴希望用自身構(gòu)建的土壤引領(lǐng)中國(guó)開發(fā)者走向云原生模式。

Dubbo

Dubbo 是國(guó)內(nèi)最受開發(fā)者歡迎的微服務(wù)引擎之一,最近阿里把?Dubbo?捐獻(xiàn)給了?Apache?基金會(huì),希望它可以成為更加開放、更加標(biāo)準(zhǔn)的微服務(wù)引擎,希望能夠與社區(qū)和開發(fā)者共建這個(gè)引擎。

阿里巴巴的云原生與開發(fā)者

現(xiàn)在,阿里巴巴對(duì)?Apache Dubbo?有了新的期望,希望?Apache Dubbo?能夠成為更云原生的微服務(wù)框架。因此,在?Apache Dubbo?未來(lái)的演進(jìn)道路中,有三個(gè)具體目標(biāo):

  • 第一個(gè)目標(biāo)是希望?Apache Dubbo?作為?RPC?框架可以更好地結(jié)合?Service Mesh,并對(duì)?Apache Dubbo?進(jìn)行一定程度的瘦身,將一些能力下沉到?Service Mesh?上去。
  • 第二個(gè)目標(biāo)是希望?Apache Dubbo?可以變得更加標(biāo)準(zhǔn),能夠和其他生態(tài)體系互融互通,能夠支持?HTTP/2,能夠融入?gRPC、Spring Cloud、Kubernetes?體系,為開發(fā)者提供更多選擇。
  • 第三個(gè)目標(biāo)是希望提升?Dubbo?本身的可觀測(cè)性,支持?OpenTracing?等,使得基于?Apache Dubbo?構(gòu)建的分布式系統(tǒng)能夠具備更高的可運(yùn)維能力。

Nacos

阿里巴巴的云原生與開發(fā)者

Nacos 是阿里巴巴去年開源的一個(gè)項(xiàng)目,開源之后很快就收到了廣泛的好評(píng)。目前在?GitHub?上有超過?8000?個(gè)?Star,也有數(shù)十家企業(yè)已經(jīng)將?Nacos?應(yīng)用到了生產(chǎn)環(huán)境中。Nacos?本身在阿里巴巴內(nèi)部也支撐了巨大體量微服務(wù)的注冊(cè)。Nacos?的研發(fā)目標(biāo)是簡(jiǎn)單且易用,其提供了一組非常簡(jiǎn)單的?API,方便開發(fā)者使用?HTTP?或?DNS?進(jìn)行服務(wù)發(fā)現(xiàn)。阿里巴巴希望?Nacos?能夠成為聯(lián)動(dòng)傳統(tǒng)微服務(wù)框架和云原生微服務(wù)框架的橋梁,因此也希望?Nacos?既可以注冊(cè)傳統(tǒng)服務(wù),又能注冊(cè)云原生服務(wù),讓兩邊的服務(wù)實(shí)現(xiàn)互融互通。這樣才能幫助阿里巴巴以及廣大開發(fā)者平滑、穩(wěn)定地從傳統(tǒng)服務(wù)治理模式演進(jìn)到云原生的服務(wù)治理模式。<br />

Apache RocketMQ

阿里巴巴的云原生與開發(fā)者

Apache RocketMQ?也是一個(gè)來(lái)自阿里巴巴的開源消息系統(tǒng),它的目標(biāo)是低延遲、高可靠、高穩(wěn)定。Apache RocketMQ?在國(guó)內(nèi)也收到了廣大開發(fā)者的好評(píng),并且今年在各大城市都舉辦了?Apache
RocketMQ?開發(fā)者自發(fā)組織的?Meetup。除此之外,阿里云還提供了豐富的消息產(chǎn)品家族,而它們的內(nèi)核都是?Apache RocketMQ。

未來(lái),阿里巴巴也希望?Apache RocketMQ?可以進(jìn)一步融入云原生。希望?Apache RocketMQ?更有彈性,能夠做到自動(dòng)的擴(kuò)容和縮容,也希望它能夠更容易地被部署和運(yùn)維。因此,現(xiàn)在阿里巴巴也在做?Apache RocketMQ Operator,希望能夠讓?Apache RocketMQ?更容易地融入到?Kubernetes?生態(tài)體系中。此外,阿里巴巴也希望?Apache RocketMQ?能夠更加開放和標(biāo)準(zhǔn),并且目前在推廣?OpenMessaging?標(biāo)準(zhǔn)協(xié)議,希望讓?Apache RocketMQ?兼容?Cloudevent?體系,成為?Serverless?的橋梁。<br />

ElasticDL

Deep Learning?是一個(gè)和云原生同一時(shí)代發(fā)展起來(lái)的領(lǐng)域。Deep Learning?對(duì)兩件事情有很高的要求:

  • 第一件事情是資源效率,Deep Learning?需要利用巨大的算力做?Training。
  • 第二件事情是?Deep Learning?對(duì)模型和調(diào)參的迭代效率有非常高的要求,并且從模型訓(xùn)練完成到上線的過程需要自動(dòng)化能力。

因此,Deep Learning?可以和云原生進(jìn)行完美的融合,可以利用容器和調(diào)度的能力,把集群內(nèi)部的異構(gòu)資源合理地分配給?Deep Learning?框架使用,也可以將云原生所推廣的自動(dòng)化部署和運(yùn)維能力提供給?Deep
Learning,縮短?Deep Learning?模型端到端上線的時(shí)間,增強(qiáng)?AI?的核心競(jìng)爭(zhēng)力。

阿里巴巴的云原生與開發(fā)者

ElasticDL?是螞蟻金服剛剛發(fā)布的新一代基于云原生的開源?AI?學(xué)習(xí)平臺(tái),它的架構(gòu)基于原生的?Kubernetes?體系,因此具有強(qiáng)大的容錯(cuò)能力和彈性調(diào)度能力。另外,ElasticDL?能夠支持新一代的?TensorFlow 2.0?框架,也希望引領(lǐng)?AI?開發(fā)者走向新一代的機(jī)器學(xué)習(xí)。未來(lái),ElasticDL?會(huì)支持更多的?AI?模型,讓它本身變得更強(qiáng)大,也會(huì)更好地融入云原生體系和?Kubernetes?體系。

云原生技術(shù)公開課

除了對(duì)開源技術(shù)的貢獻(xiàn)之外,阿里巴巴認(rèn)為在知識(shí)、理念方面的推動(dòng)也非常重要。因此,在今年年初,阿里巴巴上線了和?CNCF?聯(lián)合出品的云原生技術(shù)公開課,目前服務(wù)了超過?1?萬(wàn)名開發(fā)者。后續(xù),阿里巴巴還將會(huì)把課程的內(nèi)容文字化,方便大家利用零散時(shí)間進(jìn)行閱讀。此外,阿里巴巴也正在做云原生技術(shù)手冊(cè),希望可以采訪一些中小型公司和互聯(lián)網(wǎng)企業(yè),探討他們?cè)谠圃I(lǐng)域的實(shí)踐。阿里巴巴希望不僅能夠?yàn)榇蠹姨峁├砟钌系闹R(shí),還可以提供實(shí)踐上的幫助。

阿里巴巴的云原生與開發(fā)者

云原生與開源 Meetup

最后,阿里巴巴也在舉辦很多云原生以及開源相關(guān)的?Meetup,希望借助這樣的活動(dòng)拉近阿里巴巴和線下開發(fā)者的距離,傾聽開發(fā)者的聲音,了解開發(fā)者對(duì)社區(qū)的需求。也希望促進(jìn)國(guó)內(nèi)開發(fā)者的線下互動(dòng),增進(jìn)相互了解,共同推動(dòng)云原生領(lǐng)域在中國(guó)的落地和發(fā)展。

阿里巴巴的云原生與開發(fā)者

“ 阿里巴巴云×××icloudnative×××erverless、容器、Service Mesh等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)×××

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI