推進(jìn)無服務(wù)器計(jì)算,騰訊云走在云計(jì)算下一個(gè)形態(tài)的前沿

來源: 百家號
作者:云科技時(shí)代
時(shí)間:2021-06-13
16899
Serverless的時(shí)代才剛剛開始,正如2010年的云計(jì)算才剛剛開始一樣——未來的Serverless計(jì)算將顯著不同于今天的Serverless應(yīng)用(FaaS函數(shù)即服務(wù)),未來的Serverless將成為公有云數(shù)據(jù)中心基礎(chǔ)設(shè)施的統(tǒng)一管理與服務(wù)交付模式。

3F6838E0-80D6-4E8D-9547-D6B81272FD6F.jpeg

2021年5月,美國計(jì)算機(jī)協(xié)會(ACM)通訊雜志發(fā)表了一篇具有歷史意義的文章:《什么是無服務(wù)器計(jì)算(Serverless Computing),以及為什么它會成為云計(jì)算的下一個(gè)形態(tài)》。在這篇由9名美國業(yè)界專家和學(xué)者聯(lián)合撰寫的文章中,將自2010年開始的十年定義為云計(jì)算第一個(gè)形態(tài),該形態(tài)變革了系統(tǒng)管理員的工作;而自2021年開始的下一個(gè)十年即將進(jìn)入云計(jì)算的下一個(gè)形態(tài),即將變革開發(fā)者的工作。

在云計(jì)算的第一個(gè)十年,通過興建的大型多租戶數(shù)據(jù)中心以及位于其中的虛擬服務(wù)器和虛擬網(wǎng)絡(luò)等,大幅簡化了系統(tǒng)管理員的工作;而在云計(jì)算的下一個(gè)十年,則將向云軟件的開發(fā)者隱藏這些服務(wù)器、虛擬服務(wù)器等硬件基礎(chǔ)設(shè)施,通過代碼抽象進(jìn)一步簡化云開發(fā),讓開發(fā)者更易于編寫云軟件。在云計(jì)算的下一個(gè)形態(tài),關(guān)注點(diǎn)從服務(wù)器轉(zhuǎn)換到應(yīng)用軟件,開發(fā)者不再關(guān)注底層云基礎(chǔ)設(shè)施的復(fù)雜的配置、管理與運(yùn)維,而只需要關(guān)注業(yè)務(wù)邏輯即可。相比之下,學(xué)者們將第一種形態(tài)的云計(jì)算稱為“有服務(wù)器計(jì)算(Serverful Computing)”。

ACM的學(xué)者們認(rèn)為,Serverless的時(shí)代才剛剛開始,正如2010年的云計(jì)算才剛剛開始一樣——未來的Serverless計(jì)算將顯著不同于今天的Serverless應(yīng)用(FaaS函數(shù)即服務(wù)),未來的Serverless將成為公有云數(shù)據(jù)中心基礎(chǔ)設(shè)施的統(tǒng)一管理與服務(wù)交付模式。

41A82A88-03D2-4062-866E-067620A08E6C.jpeg

(騰訊云Serverless中心副總經(jīng)理羅茂政)

而騰訊云則是Serverless的積極推動(dòng)者,在2021年6月5日的Techo TVP開發(fā)者峰會Serverless Days大會中國站2021上,騰訊云Serverless中心副總經(jīng)理羅茂政強(qiáng)調(diào),騰訊云非常認(rèn)同Serverless的方向,Serverless不僅是FaaS+BaaS,更是一種技術(shù)架構(gòu)理念。當(dāng)前,Serverless仍面臨很多挑戰(zhàn),但路徑已經(jīng)十分明確,騰訊云將持續(xù)投入Serverless Computing。騰訊云Serverless產(chǎn)品總監(jiān)張浩宣布截止當(dāng)天的騰訊云Serverless開發(fā)者已達(dá)百萬+、日均資源調(diào)用量達(dá)億+GB、日均調(diào)用量達(dá)百億+次。

Serverless:云計(jì)算的下一個(gè)形態(tài)

早在2014年,AWS推出業(yè)界首個(gè)云函數(shù)產(chǎn)品Lambda的時(shí)候,就引起了轟動(dòng)。AWS Lambda是第一種Serverless無服務(wù)器計(jì)算的代表,這就是FaaS函數(shù)即服務(wù)。AWS Lambda服務(wù)對觸發(fā)事件作出響應(yīng),運(yùn)行相關(guān)代碼并自動(dòng)管理底層計(jì)算資源。AWS Lambda體現(xiàn)Serverless計(jì)算的主要優(yōu)勢,包括大幅簡化云開發(fā)、真正的Pay-as-you-go、更強(qiáng)的彈性計(jì)算。所謂函數(shù)即服務(wù),即像使用電子表格中的公式一樣簡單,F(xiàn)aaS適合于物聯(lián)網(wǎng)等事件觸發(fā)型應(yīng)用。

92C2AC81-C4AC-496A-989C-B2AB2794BB1E.jpeg

(Serverless與Serverful的對比。來源:ACM)

隨著FaaS的流行,出現(xiàn)不少同樣可以運(yùn)行任何代碼且具備Serverless計(jì)算特點(diǎn)的云服務(wù),諸如Google Cloud Dataflow、AWS Glue等,每一個(gè)云服務(wù)都針對特定的應(yīng)用場景。隨著Serverless計(jì)算理念被廣泛接受,CNCF云原生計(jì)算基金會在2018年成立了Serverless計(jì)算工作組。CNCF認(rèn)為Serverless遠(yuǎn)不止于FaaS,也就是隨需在一段短時(shí)間內(nèi)運(yùn)行一小段代碼,AWS Lambda是這個(gè)1.0階段的代表但在執(zhí)行時(shí)間、協(xié)議和本地開發(fā)體驗(yàn)等方面有其局限性。在2.0階段,一些解決方案實(shí)現(xiàn)了對Kubernetes的抽象,代表為Knative,即對容器技術(shù)的Serverless化,這樣就可以沒有函數(shù)運(yùn)行時(shí)間的限制,也可以使用任何語言。

接下來,CNCF認(rèn)為,真正的Serverless愿景,是處理更多的復(fù)雜編排和集成模式,以及結(jié)合有狀態(tài)的管理。之前的Serverless應(yīng)用都是無狀態(tài)應(yīng)用,但現(xiàn)在越來越多被創(chuàng)建的解決方案,其目的是以Serverless模式實(shí)現(xiàn)已有的帶有編排的集成模式,也就是對PaaS通用云服務(wù)的Serverless化,CNCF稱之為2.0階段。今天的PaaS層,無論是微服務(wù)、單體應(yīng)用還是函數(shù),都以容器化方式運(yùn)行,而在這一層實(shí)現(xiàn)Serverless方案,企業(yè)就可以同時(shí)運(yùn)行Serverless和Non-Serverless兩種計(jì)算任務(wù)。

簡單理解,Serverless的真正愿景就是面向云開發(fā)者,隱藏云底層的系統(tǒng)管理與運(yùn)維工作。正如同傳統(tǒng)高級編程隱藏了CPU的工作方式,Serverless編程將隱藏云中服務(wù)器的工作方式——也就是如何構(gòu)建可靠、可擴(kuò)展、安全的分布式系統(tǒng)。一旦實(shí)現(xiàn)了對PaaS層的Serverless方案,云開發(fā)者就再也不用關(guān)心底層分布式云系統(tǒng)的配置和管理細(xì)節(jié)。實(shí)際上,對今天的云開發(fā)來說,開發(fā)者仍然要與系統(tǒng)管理員一起,配置所需的云中虛擬機(jī)、容器、災(zāi)備等底層云基礎(chǔ)設(shè)施細(xì)節(jié),這對于開發(fā)者來說還是有一定的門檻。而且當(dāng)前的所謂云服務(wù)自動(dòng)伸縮也是需要提前預(yù)留虛機(jī)實(shí)例,而這些預(yù)留實(shí)例無論使用與否都要付費(fèi)。

在過去十年,云計(jì)算IaaS層的大規(guī)模興起和流行,特別是Kubernetes對云IaaS層的統(tǒng)一,極大簡化了系統(tǒng)管理員的工作——從本地服務(wù)器到云中服務(wù)器,系統(tǒng)管理員可以通過瀏覽器就輕松管理海量的服務(wù)器和完成分布式系統(tǒng)架構(gòu)與運(yùn)維。未來十年,Serverless計(jì)算將向云開發(fā)者進(jìn)一步隱藏底層云及分布式系統(tǒng)的工作——大幅簡化云開發(fā)、真正的Pay-as-you-go以及更強(qiáng)的彈性計(jì)算,沒有云系統(tǒng)管理知識與技能的普通開發(fā)者也可以通過拖拉拽方式的低代碼和無代碼方式,輕松完成業(yè)務(wù)邏輯的編排和業(yè)務(wù)軟件的開發(fā)。

Serverless計(jì)算的前沿

ACM的專家和學(xué)者認(rèn)為,無服務(wù)器Serverless計(jì)算將主導(dǎo)下一個(gè)階段的云計(jì)算形態(tài),釋放云計(jì)算的強(qiáng)大能力并交到所有應(yīng)用開發(fā)者的手中。當(dāng)前的Serverless編程抽象分為兩種:面向特定應(yīng)用和面向通用PaaS領(lǐng)域,其中面向特定應(yīng)用的即FaaS,而面向通用PaaS服務(wù)的Serverless方案則是Serverless研究的前沿。

B31F60AD-7058-4F39-853A-4081B9A440A4.jpeg

(兩種Serverless抽象。來源:ACM)

前沿方向之一,Serverless數(shù)據(jù)庫與存儲。SQL與NoSQL數(shù)據(jù)庫和存儲(特別是對象存儲)是數(shù)據(jù)服務(wù)的基礎(chǔ),數(shù)據(jù)服務(wù)是PaaS通用核心技術(shù)之一。如何實(shí)現(xiàn)Serverless化的數(shù)據(jù)庫與存儲方案,是PaaS Serverless的前沿研究之一。其中涉及到從傳統(tǒng)的給定容量、連接與查詢限制的實(shí)例供應(yīng),轉(zhuǎn)向可按需實(shí)現(xiàn)計(jì)算基礎(chǔ)設(shè)施和成本的線性擴(kuò)展模式。2020年4月,騰訊云正式發(fā)布了國內(nèi)首個(gè)Serverless數(shù)據(jù)庫產(chǎn)品——PostgreSQL for Serverless,該數(shù)據(jù)庫不需要用戶創(chuàng)建實(shí)例,完全基于Serverless架構(gòu),最快能夠1秒鐘內(nèi)完成部署,用戶使用該數(shù)據(jù)庫完全按照實(shí)際使用量付費(fèi),成本降低70%。2020年底,騰訊云進(jìn)一步發(fā)布了國內(nèi)首款Serverless MySQL數(shù)據(jù)庫。

前沿方向之二,復(fù)雜微服務(wù)場景編排。今天最常用的Serverless場景,當(dāng)屬支持微服務(wù)架構(gòu)。微服務(wù)作為云原生技術(shù)的“三駕馬車”之一,主要提供執(zhí)行單一任務(wù)的小型服務(wù)、小型服務(wù)之間通過API方式調(diào)用、小型服務(wù)可以橫向擴(kuò)展,微服務(wù)可以由各種PaaS或容器技術(shù)實(shí)現(xiàn),而Serverless也被視為微服務(wù)的一種實(shí)現(xiàn)方式。Serverless計(jì)算以執(zhí)行小型代碼、自動(dòng)伸縮、真正的按使用量付費(fèi)等為特點(diǎn),非常適合微服務(wù)架構(gòu)。騰訊云應(yīng)用與服務(wù)編排工作流ASW是一個(gè)用來協(xié)調(diào)分布式任務(wù)執(zhí)行的編排產(chǎn)品,可以將多個(gè)騰訊云服務(wù)按步驟進(jìn)行調(diào)度,完成各種業(yè)務(wù)應(yīng)用場景。ASW支持所有騰訊云服務(wù)的編排調(diào)度,包括云函數(shù)、Serverless服務(wù),例如在音視頻處理中ASW通過云函數(shù),可以將轉(zhuǎn)碼任務(wù)進(jìn)行切片并行處理,大幅提高任務(wù)處理的吞吐量,滿足高實(shí)時(shí)性、高并發(fā)能力的視頻應(yīng)用、社交應(yīng)用場景。

前沿方向之三,本地及遠(yuǎn)程Serverless調(diào)試。云上的各種服務(wù),在本地?zé)o法完全模擬,程序員大都遇到過本地和遠(yuǎn)程環(huán)境運(yùn)行結(jié)果不一致的情形,追查起來費(fèi)時(shí)費(fèi)力,不僅效率低下,也造成很差的開發(fā)體驗(yàn)。而對于Serverless應(yīng)用的調(diào)試,要在本地構(gòu)建一個(gè)容器環(huán)境,成本也不低。騰訊云首發(fā)了云函數(shù)的在線遠(yuǎn)程調(diào)試功能,采用Node10及以上版本的runtime,使用Chrome瀏覽器打開云函數(shù)控制臺,在函數(shù)代碼頁便可看到在線調(diào)試的入口,這樣開發(fā)者就能連入云端容器,代碼在云端生產(chǎn)環(huán)境和調(diào)試環(huán)境是一樣的。此外,騰訊云Serverless本地開發(fā)工具(SCF CLI)以開源項(xiàng)目的形式維護(hù),讓開發(fā)者可以方便的實(shí)現(xiàn)函數(shù)打包、部署、本地調(diào)試,也可以方便生成云函數(shù)的項(xiàng)目并基于demo項(xiàng)目進(jìn)一步開發(fā)。而騰訊云Serverless VS Code插件,則支持用VS Code原生的調(diào)試入口調(diào)試云函數(shù)。

在其它的Serverless性能、擴(kuò)展連接更多服務(wù)等前沿方向上,騰訊云也一直在探索相關(guān)的實(shí)踐。面向異構(gòu)芯片的抽象,騰訊云推出了Serverless GPU調(diào)度能力,這樣就能同時(shí)調(diào)度CPU通用計(jì)算芯片以及GPU面向特定計(jì)算的芯片;面向Kubernetes抽象,騰訊云推出了Serverless Kubernetes;面向Serverless性能方面,騰訊云云函數(shù)SCF首創(chuàng)提供了函數(shù)異步執(zhí)行模式,可以讓Serverless任務(wù)實(shí)現(xiàn)24小時(shí)超長時(shí)間穩(wěn)定運(yùn)行、單實(shí)例更多算力等,滿足音視頻處理、ETL數(shù)據(jù)批處理、機(jī)器學(xué)習(xí)及AI推理等;在連接更多SaaS和PaaS服務(wù)方面,騰訊云Serverless今年上線了事件總線,可連接超過十款PaaS服務(wù),而通過騰訊千帆SaaS計(jì)劃還能連接更多的SaaS服務(wù)……

國內(nèi)最大的Serverless服務(wù)商

騰訊云Serverless副總經(jīng)理羅茂政在Techo TVP開發(fā)者峰會Serverless Days大會中國站2021上強(qiáng)調(diào),騰訊云已經(jīng)成為國內(nèi)服務(wù)規(guī)模最大的Serverless廠商。2021年3月,F(xiàn)orrester發(fā)布《The Forrester Wave:Function-As-A-Service Platforms,Q1 2021》報(bào)告,騰訊云Serverless綜合評分再次躍居全球頂級序列,被Forrester評為“強(qiáng)勁表現(xiàn)者”,其中在產(chǎn)品服務(wù)矩陣、合作伙伴生態(tài),以及客戶規(guī)模維度上得分國內(nèi)第一。去年,在Forrester另一份云函數(shù)服務(wù)能力研究報(bào)告上,騰訊云憑借在產(chǎn)品體驗(yàn)、安全性、戰(zhàn)略愿景等方面的絕對優(yōu)勢,成為中國唯一進(jìn)入全球Top3的云廠商。

91A4A6D5-557D-491B-A1AF-3AFACEB194EA.jpeg

騰訊云對Serverless高度重視,可以說在云原生領(lǐng)域“All on Serverless”。騰訊云積極推動(dòng)國內(nèi)Serverless生態(tài)和國際接軌,將全球流行的Serverless Framework平臺引入中國,推動(dòng)了中國的Serverless技術(shù)盡快與國際對齊,讓Serverless客戶快速享受到技術(shù)全球化優(yōu)勢。騰訊云將ServerlessDays引入中國,ServerlessDays是面向開發(fā)人員的全球技術(shù)會議,已經(jīng)在全球40多個(gè)城市舉辦,成為Serverless技術(shù)發(fā)展風(fēng)向標(biāo),2020年在騰訊云的推動(dòng)下首次來到中國。此外,騰訊云還運(yùn)營了中國首個(gè)以Serverless為主題的技術(shù)社區(qū)。

目前,騰訊云已經(jīng)推出了國內(nèi)最大、最完整的Serverless產(chǎn)品矩陣和開發(fā)平臺。騰訊云Serverless不僅僅是云函數(shù),而是將Serverless理念擴(kuò)展到更多的PaaS和IaaS層。在基礎(chǔ)設(shè)施層,騰訊云Serverless支持MySQL和PostgreSQL兩種主流開源數(shù)據(jù)庫,還支持存儲、網(wǎng)絡(luò)等基礎(chǔ)IaaS服務(wù);在Serverless計(jì)算方面,騰訊云提供了云函數(shù)SCF、彈性容器服務(wù)EKS、工作流ASW、事件管理EventBridge;在Serverless開發(fā)者工具方面,騰訊云提供了Serverless Framework、VS Code插件、Cloud Studio Web IDE等多種工具;在Serverless應(yīng)用生態(tài)方面,騰訊云推出了CloudBase云開發(fā)和微搭低代碼WeDa等小程度開發(fā)平臺,支持Spring Cloud、Service Mesh和分布式事務(wù)DTF等微服務(wù)場景,提供了HTTP服務(wù)、音視頻轉(zhuǎn)碼、ETL數(shù)據(jù)處理等企業(yè)級方案;在監(jiān)控排障工具方面,騰訊云提供了微服務(wù)觀測平臺TSW、應(yīng)用性能監(jiān)控TAPM;在云服務(wù)集成方面,騰訊云提供了騰訊千帆SaaS應(yīng)用連接器、實(shí)時(shí)音視頻TRTC、數(shù)據(jù)湖計(jì)算DLC、多媒體實(shí)驗(yàn)室等工具與資源。

針對Serverless應(yīng)用面臨的缺少基于業(yè)務(wù)場景的解決方案、開發(fā)工具不完善導(dǎo)致開發(fā)體驗(yàn)欠佳以及成本費(fèi)用過高等挑戰(zhàn),騰訊云Serverless從產(chǎn)品化角度幫助開發(fā)者盡快上手Serverless。例如:在計(jì)費(fèi)方面,騰訊云在全球率先發(fā)布了1毫秒計(jì)費(fèi)粒度,目前行業(yè)內(nèi)Serverless服務(wù)的計(jì)費(fèi)粒度普遍為100毫秒,而1毫秒計(jì)費(fèi)粒度則極大幫助用戶降低成本;在開發(fā)體驗(yàn)方面,騰訊云從開發(fā)者的視角出發(fā),重點(diǎn)解決整個(gè)生命周期的挑戰(zhàn),使Serverless的項(xiàng)目開發(fā)更貼近用戶習(xí)慣,提高開發(fā)效率;在業(yè)務(wù)場景方面,騰訊云針對音視頻轉(zhuǎn)碼、IOT事件響應(yīng)、小程序開發(fā)等各種業(yè)務(wù)需求提供對應(yīng)的Serverless方案。

騰訊云Serverless也結(jié)合了騰訊自身使用Serverless的實(shí)戰(zhàn)經(jīng)驗(yàn),包括多業(yè)務(wù)場景多租戶的安全隔離、高并發(fā)的函數(shù)實(shí)例擴(kuò)縮容、百萬級別函數(shù)實(shí)例的集群管理,以及幾十毫秒級別的冷啟動(dòng)延時(shí)等。其結(jié)果是:使用騰訊云自研的輕量級虛擬化技術(shù),MicroVm啟動(dòng)時(shí)間縮短至90毫秒,函數(shù)冷啟動(dòng)減低至200毫秒,并且支持上萬臺計(jì)算節(jié)點(diǎn)同時(shí)擴(kuò)容;在函數(shù)與VPC網(wǎng)絡(luò)打通中,依托于新的隧道方案,時(shí)間也由原來的秒級降低至毫秒級等等。

今天,金融、政府、工業(yè)、零售等傳統(tǒng)行業(yè)都在進(jìn)入Serverless領(lǐng)域,Serverless生態(tài)正處于蓬勃發(fā)展的階段。目前,騰訊云Serverless已經(jīng)服務(wù)了超過1萬家企業(yè),包括互聯(lián)網(wǎng)頭部廠商、大型金融科技企業(yè)等在使用Serverless構(gòu)建IT系統(tǒng)。例如某國內(nèi)頭部智能家居廠商,就采用了騰訊云Serverless產(chǎn)品、服務(wù)和架構(gòu),實(shí)現(xiàn)了近乎無人值守的彈性免運(yùn)維體驗(yàn),讓這家公司IT團(tuán)隊(duì)能夠聚焦于智能家居服務(wù),而不用關(guān)注基礎(chǔ)設(shè)施管理。

【全文總結(jié)】Serverless是繼虛擬機(jī)和容器之后的新一代通用計(jì)算平臺,是云計(jì)算特別是公有云的下一個(gè)形態(tài),將主導(dǎo)下一個(gè)階段的公有云。騰訊云作為國內(nèi)最大的Serverless開發(fā)平臺和支持者,已經(jīng)走在Serverless全球的前沿,大幅降低Serverless門檻,全力釋放云計(jì)算紅利,推動(dòng)云開發(fā)的全面變革。人人都是開發(fā)者的時(shí)代,在Serverless的推動(dòng)下,即將到來。(文/寧川)

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于百家號,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個(gè)人VIP