您好,登錄后才能下訂單哦!
作者?|?楊皓然? 阿里巴巴高級(jí)技術(shù)專家
導(dǎo)讀:云計(jì)算之所以能夠成為 DT 時(shí)代顛覆性力量,是因?yàn)槠浔举|(zhì)是打破傳統(tǒng)架構(gòu)模式、降低成本并簡(jiǎn)化體系結(jié)構(gòu),用全新的思維更好的滿足了用戶需求。而無(wú)服務(wù)器計(jì)算(Serverless Computing)作為這個(gè)巨大市場(chǎng)的下一個(gè)階段的進(jìn)化產(chǎn)物,將真正幫助企業(yè)實(shí)現(xiàn)只專注于業(yè)務(wù)和構(gòu)建應(yīng)用程序,而不必?fù)?dān)心 IT 基礎(chǔ)設(shè)施,這也將成為云服務(wù)商未來(lái)競(jìng)爭(zhēng)的關(guān)鍵。
云原生計(jì)算基金會(huì)(Cloud Native Computing Foundation, CNCF)對(duì)無(wú)服務(wù)器計(jì)算作了如下定義:
Serverless computing refers to the concept of building and running applications that do not require server management. It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment.
無(wú)服務(wù)器計(jì)算是指開(kāi)發(fā)者在構(gòu)建和運(yùn)行應(yīng)用時(shí)無(wú)需管理服務(wù)器等基礎(chǔ)設(shè)施。應(yīng)用被解耦為細(xì)粒度的函數(shù),函數(shù)是部署和運(yùn)行的基本單位;用戶只為實(shí)際使用的資源付費(fèi)??梢?jiàn),serverless 計(jì)算能夠幫助應(yīng)用開(kāi)發(fā)者擺脫服務(wù)器等底層基礎(chǔ)設(shè)施管理的負(fù)擔(dān),專注于業(yè)務(wù)層的創(chuàng)新。
圖 1 - 無(wú)服務(wù)器計(jì)算的特點(diǎn)
實(shí)際上,Serverless 不是一個(gè)新概念。計(jì)算、存儲(chǔ)等領(lǐng)域的很多服務(wù)都是 serverless 的模式。例如阿里云推出的第一個(gè)云服務(wù),對(duì)象存儲(chǔ)(OSS),就是 serverless 形態(tài)的存儲(chǔ)服務(wù)。用戶不需要關(guān)心數(shù)據(jù)是如何存儲(chǔ)在底層服務(wù)器上,只為實(shí)際使用的存儲(chǔ)資源付費(fèi)。
統(tǒng)計(jì)數(shù)據(jù)表明,近年來(lái),各個(gè)云服務(wù)商推出的新服務(wù)/新功能,超過(guò) 70% 都是 serverless 形態(tài)。隨著云端 serverless 類型的服務(wù)種類越來(lái)越豐富,用戶能夠快速使用多種服務(wù)構(gòu)建彈性高可用的云原生應(yīng)用。因此,serverless 計(jì)算正變得越來(lái)越流行。
圖 2 – 無(wú)服務(wù)器計(jì)算已經(jīng)無(wú)處不在
在 serverless 計(jì)算中,平臺(tái)服務(wù)接管了底層基礎(chǔ)設(shè)施的管理,因此平臺(tái)服務(wù)必須處理好容錯(cuò)和資源伸縮等問(wèn)題,才能充分發(fā)揮 serverless 計(jì)算的能力。
從阿里云函數(shù)計(jì)算架構(gòu)圖不難看出:API 服務(wù)層完成身份驗(yàn)證、元數(shù)據(jù)的讀寫等功能。
圖 3 - 阿里云函數(shù)計(jì)算架構(gòu)
實(shí)時(shí)彈性伸縮是函數(shù)計(jì)算的核心優(yōu)勢(shì),當(dāng)用戶負(fù)載出現(xiàn)波峰時(shí),系統(tǒng)能實(shí)時(shí)擴(kuò)張資源,平滑應(yīng)對(duì)峰值訪問(wèn)。以異步事件處理為例,整個(gè)處理流程分為三步:
圖 4 - 函數(shù)計(jì)算實(shí)時(shí)伸縮
函數(shù)計(jì)算系統(tǒng)會(huì)監(jiān)控用戶的負(fù)載變化,各組件均能夠根據(jù)用戶負(fù)載動(dòng)態(tài)伸縮。如上圖所示,當(dāng)用戶 A 的事件產(chǎn)生速率變大時(shí),系統(tǒng)會(huì)自動(dòng)在每個(gè)環(huán)節(jié)給 A 分配更多的資源,以匹配事件處理的能力。
函數(shù)計(jì)算采用多級(jí)資源調(diào)度策略,系統(tǒng)會(huì)根據(jù)用戶負(fù)載和資源池水位預(yù)判需求,提前準(zhǔn)備好計(jì)算資源。依托于阿里云飛天分布式系統(tǒng)平臺(tái)多年的技術(shù)積累,在調(diào)度的實(shí)時(shí)性和準(zhǔn)確性上取得了很好的平衡,具備毫秒級(jí)彈性伸縮的能力。
借助函數(shù)計(jì)算,用戶幾乎可以構(gòu)建任何類型的應(yīng)用程序或后端服務(wù),包括 Web 應(yīng)用后端服務(wù),大規(guī)模文件處理,數(shù)據(jù)實(shí)時(shí)流式處理等等。
例如借助對(duì)象存儲(chǔ)和函數(shù)計(jì)算的集成,用戶只需要編寫函數(shù)處理單個(gè)視頻。當(dāng)有大量視頻文件被上傳到對(duì)象存儲(chǔ)服務(wù)后,會(huì)自動(dòng)觸發(fā)多個(gè)函數(shù)實(shí)例并發(fā)處理。
圖 5 - Serverless 視頻轉(zhuǎn)碼服務(wù)
使用函數(shù)計(jì)算的 HTTP 觸發(fā)器,用戶只需要編寫函數(shù)處理單個(gè)請(qǐng)求。當(dāng) TPS 升高時(shí),函數(shù)計(jì)算會(huì)自動(dòng)擴(kuò)容計(jì)算資源執(zhí)行多個(gè)函數(shù)實(shí)例處理請(qǐng)求。
圖 6 - Serverless 網(wǎng)站后端服務(wù)
自阿里云函數(shù)計(jì)算上線以來(lái),被開(kāi)發(fā)者廣泛的用于大規(guī)模多媒體數(shù)據(jù)并行處理、日志/物聯(lián)網(wǎng)數(shù)據(jù)的流式處理以及網(wǎng)站后端服務(wù)等場(chǎng)景中。從實(shí)際使用情況來(lái)看,serverless 計(jì)算在工程效率、可靠性、性能、成本和安全性等方面給用戶帶來(lái)了巨大的價(jià)值。
工程效率:借助函數(shù)計(jì)算和其他云端服務(wù)的集成,用戶只需要編寫少量代碼就可以串聯(lián)多個(gè)服務(wù)完成復(fù)雜的功能。用戶不需要負(fù)擔(dān)服務(wù)器配置/升級(jí),資源擴(kuò)容/縮容等繁瑣工作,運(yùn)維成本大幅降低;
可靠性:用戶不需要購(gòu)買或維護(hù)任何的服務(wù)器,不需要安裝任何的軟件,借助函數(shù)計(jì)算,系統(tǒng)自動(dòng)處理基礎(chǔ)設(shè)施層各種錯(cuò)誤,減少宕機(jī)、網(wǎng)絡(luò)中斷等危機(jī)情況發(fā)生,提升系統(tǒng)可靠性;
彈性伸縮:應(yīng)用程序所需計(jì)算資源的伸縮能在毫秒級(jí)別由 serverless 計(jì)算平臺(tái)自動(dòng)完成,用戶不需要負(fù)責(zé)增減服務(wù)器的數(shù)量;
也就是說(shuō),借助函數(shù)計(jì)算意味著開(kāi)發(fā)者可以專注在產(chǎn)品代碼上,而無(wú)須管理和操作云端或本地的服務(wù)器或運(yùn)行時(shí)。生產(chǎn)實(shí)踐中,用戶用幾百行代碼就可以實(shí)現(xiàn)一個(gè)規(guī)模上億、日調(diào)用次數(shù)幾十億次的圖片處理服務(wù)。
云計(jì)算 1.0 時(shí)代,基礎(chǔ)設(shè)施的云化(IaaS)為用戶提供了和傳統(tǒng) IT 環(huán)境近乎一致的體驗(yàn),讓用戶能把應(yīng)用無(wú)縫遷移到云端。當(dāng)人人都能獲取所需的計(jì)算資源后,如何更高效的管理和使用計(jì)算資源,函數(shù)即服務(wù)(FaaS)則是云計(jì)算 2.0 時(shí)代最為重要的問(wèn)題。阿里云函數(shù)計(jì)算這樣的無(wú)服務(wù)器計(jì)算服務(wù),能夠從工程效率、可靠性、性能、成本和安全性等方面給用戶帶來(lái)巨大的價(jià)值,為廣大開(kāi)發(fā)者打開(kāi)了一扇通往美麗新世界的大門。
10 月 9 日,阿里云宣布正式推出函數(shù)計(jì)算 2.0 解決方案,為用戶提供更具性價(jià)比和更高效開(kāi)發(fā)運(yùn)維體驗(yàn)的 Serverless 計(jì)算服務(wù)。函數(shù)計(jì)算 2.0 提供了豐富的計(jì)費(fèi)方式,全新的實(shí)例類型、靈活的自定義運(yùn)行時(shí)、全方位升級(jí)的工具鏈。
圖 7 -?預(yù)付費(fèi)和后付費(fèi)
函數(shù)計(jì)算 2.0?通過(guò)一系列創(chuàng)新的功能,解決了當(dāng)前 Serverless 計(jì)算服務(wù)在成本、性能、應(yīng)用構(gòu)建等方面的痛點(diǎn),極具競(jìng)爭(zhēng)力。
全球首家推出預(yù)付費(fèi)(包年包月)的計(jì)費(fèi)模式。相較于后付費(fèi),預(yù)付費(fèi)單價(jià)降低 70% 以上。應(yīng)用所需資源中穩(wěn)定部分使用預(yù)付費(fèi)模式,單價(jià)低;彈性部分使用后付費(fèi),資源利用率高。結(jié)合預(yù)付費(fèi)和后付費(fèi),用戶能夠顯著降低成本。
圖 8 -?預(yù)留實(shí)例和按量實(shí)例
更重要的是,函數(shù)計(jì)算 2.0 新增預(yù)留實(shí)例類型,允許用戶自行管理實(shí)例的申請(qǐng)和釋放。
通過(guò)預(yù)留實(shí)例,用戶能夠提前預(yù)熱函數(shù)或者長(zhǎng)期保持常駐實(shí)例,杜絕因?yàn)閷?shí)例啟動(dòng)帶來(lái)的請(qǐng)求延遲。當(dāng)負(fù)載超過(guò)預(yù)留實(shí)例處理能力,系統(tǒng)會(huì)自動(dòng)擴(kuò)容,使用按量實(shí)例處理請(qǐng)求。同時(shí)函數(shù)計(jì)算提供了詳細(xì)的實(shí)例使用指標(biāo),幫助用戶輕松預(yù)留合理數(shù)目的實(shí)例。
圖 9 - 用戶體驗(yàn)
用戶在函數(shù)計(jì)算平臺(tái)上構(gòu)建彈性高可用的云原生應(yīng)用,如果沒(méi)有好用的開(kāi)發(fā)、調(diào)試、運(yùn)維工具,使用體驗(yàn)將大打折扣。
函數(shù)計(jì)算 2.0 大幅增強(qiáng)了 Serverless 應(yīng)用構(gòu)建、運(yùn)維等方面的用戶體驗(yàn)。用戶可以在自己的開(kāi)發(fā)機(jī)本地環(huán)境中創(chuàng)建和云端運(yùn)行環(huán)境一致的沙盒,進(jìn)行依賴包安裝、斷點(diǎn)調(diào)試等操作。
函數(shù)計(jì)算 2.0 也提供了 VSCode,Intellij Idea,PyCharm 等流行開(kāi)發(fā)工具的插件,通過(guò)圖形用戶界面的交互方式,進(jìn)一步降低了工具的使用門檻。
“ 阿里巴巴云×××icloudnative×××erverless、容器、Service Mesh等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開(kāi)發(fā)×××
免責(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)容。