“無服務(wù)器架構(gòu)(Serverless)是一種將應(yīng)用與基礎(chǔ)設(shè)施徹底分離的架構(gòu)理念,開發(fā)人員無需關(guān)心基礎(chǔ)設(shè)施的運(yùn)維工作,只需專注于應(yīng)用邏輯的開發(fā),真正實(shí)現(xiàn)了彈性伸縮與按需付費(fèi)。當(dāng)前各大云服務(wù)商和頭部互聯(lián)網(wǎng)企業(yè)的內(nèi)部業(yè)務(wù)Serverless化升級改造已經(jīng)開始小范圍試水;中小企業(yè)基于Serverless的業(yè)務(wù)應(yīng)用也初見端倪,已然可見初具規(guī)模的企業(yè)級應(yīng)用,未來可期。Serverless生態(tài)已初具規(guī)模,可以預(yù)見,Serverless將成為下一代云計(jì)算服務(wù)形態(tài)的趨勢?!?/p>
在此背景下,云函數(shù)(SCF)、彈性微服務(wù)(TEM)和彈性容器服務(wù)(EKS)聯(lián)合其他相關(guān)產(chǎn)品,在2021年Serverless平臺技術(shù)能力評估中,共同獲得國內(nèi)首批Serverless平臺技術(shù)能力最高先進(jìn)級認(rèn)證。
今年7月,在中國信息通信研究院、中國通信標(biāo)準(zhǔn)化協(xié)會聯(lián)合主辦的“2021可信云大會”上,騰訊云拿下了5項(xiàng)大獎和10項(xiàng)可信云認(rèn)證,在云存儲、Serverless等各細(xì)分領(lǐng)域評測中,獲得54項(xiàng)可信云認(rèn)證,數(shù)量位居中國云廠商第一。騰訊云云函數(shù)(SCF)、彈性微服務(wù)(TEM)和彈性容器服務(wù)(EKS)深度參與了此次Serverless標(biāo)準(zhǔn)制定和實(shí)施過程,騰訊云的Serverless產(chǎn)品矩陣所提供的平臺技術(shù)能力也得到了同行的一致認(rèn)可。
01.
Serverless發(fā)展趨勢解讀
通過本次Serverless標(biāo)準(zhǔn),為大家?guī)硪韵聨追矫骊P(guān)于Serverless發(fā)展趨勢的解讀:
趨勢一:從計(jì)算層向Serverless應(yīng)用延伸
Serverless是一種免運(yùn)維、按量計(jì)費(fèi)、彈性伸縮的理念,企業(yè)對于Serverless的關(guān)注點(diǎn)不僅僅局限于FaaS等形態(tài)的計(jì)算層產(chǎn)品,在構(gòu)建完整的Serverless應(yīng)用時(shí),除了計(jì)算層之外還需要考慮文件系統(tǒng)、數(shù)據(jù)庫、中間件、網(wǎng)關(guān)等多種產(chǎn)品,在構(gòu)建稍具規(guī)模的Serverless應(yīng)用時(shí),這些產(chǎn)品或多或少都需要涉及到,雖然產(chǎn)品不同但是用戶對于免運(yùn)維、彈性伸縮、按量計(jì)費(fèi)的訴求是一致的。
當(dāng)我們把Serverless理念和這些產(chǎn)品結(jié)合時(shí),Serverless化的文件系統(tǒng)(CFS)、數(shù)據(jù)庫(TDSQL-C)、網(wǎng)關(guān)(API Gatgeway)和中間件(TDMQ)等可大幅度降低Serverless應(yīng)用的開發(fā)和運(yùn)維成本,讓開發(fā)者真正聚焦于業(yè)務(wù)的核心能力,把核心的研發(fā)力量和IT投資最大化企業(yè)的核心差異化競爭力。通過最終的需求驅(qū)動,我們可以預(yù)見到,各個(gè)云服務(wù)產(chǎn)品的Serverless化或許是未來云計(jì)算發(fā)展的必經(jīng)之路。
趨勢二:Serverless應(yīng)用形態(tài)和落地場景進(jìn)一步豐富
過去場景化的FaaS是Serverless較為主流的應(yīng)用形態(tài),落地案例也以輕量級的站點(diǎn)、SSR和云上“云上粘合劑”居多。在本次Serverless標(biāo)準(zhǔn)制定過程中,對于如何評估企業(yè)實(shí)際的Serverless落地形式大家展開了豐富的討論和交流。我們認(rèn)為Serverless的應(yīng)用形態(tài)可以是FaaS、微服務(wù)甚至是單體應(yīng)用;運(yùn)行環(huán)境可以是原生的運(yùn)行時(shí),也可以是容器鏡像;具體落地時(shí),可以用來對外提供API接口,也可以用來運(yùn)行音視頻轉(zhuǎn)碼、直播推流等計(jì)算任務(wù),還可以用來完成站點(diǎn)壓測、AI推理等任務(wù)。
但是現(xiàn)有存量系統(tǒng)的Serverless化無法一蹴而就,這是一個(gè)不斷設(shè)計(jì)和矯正的過程,應(yīng)用Serverless化也需要經(jīng)歷遷移、優(yōu)化和云原生架構(gòu)改造的幾個(gè)階段,不同階段之間需要有一個(gè)較為平滑的切換過程,借助于云函數(shù)的Web Function的功能可以讓遷移過程更加平滑,只有實(shí)際負(fù)載運(yùn)行在Serverless上之后,才能基于生產(chǎn)環(huán)境的實(shí)際運(yùn)行結(jié)果、采集定量的指標(biāo)持續(xù)進(jìn)行Serverless應(yīng)用的優(yōu)化和云原生改造,進(jìn)一步發(fā)揮出Serverless的價(jià)值。
趨勢三:Serverless應(yīng)用的開發(fā)者體驗(yàn)在持續(xù)提升
當(dāng)構(gòu)建應(yīng)用所依賴的服務(wù)逐漸向云上遷移的時(shí)候,開發(fā)環(huán)境也進(jìn)一步“云”化,和本地開發(fā)相比也面臨一些新的挑戰(zhàn),比如代碼生效時(shí)間、本地測試、遠(yuǎn)程調(diào)試和離線開發(fā)等等,這些都是影響開發(fā)者效率的關(guān)鍵環(huán)節(jié)。在本次的「Serverless平臺技術(shù)能力」標(biāo)準(zhǔn)中,單獨(dú)把對于工具鏈的支持作為衡量Serverless平臺技術(shù)能力的重要維度之一。一個(gè)成熟的Serverless開發(fā)者平臺需要能夠提供比較友好的IDE支持,讓開發(fā)者使用熟悉的開發(fā)工具進(jìn)行Serverless應(yīng)用的開發(fā),降低開發(fā)者的切換成本;除此之外從本地或者遠(yuǎn)程測試的時(shí)候,需要有良好的工具支持,可以方便地發(fā)起調(diào)用,觸發(fā)應(yīng)用執(zhí)行并快速返回結(jié)果,當(dāng)結(jié)果不符合預(yù)期的時(shí)候也需要有一系列監(jiān)控、日志等排障手段幫助開發(fā)者快速定位問題。
作為Serverless社區(qū)最流行的一站式開發(fā)者工具,Serverless Framework擁有百萬級別的活躍應(yīng)用程序以及50000+的日下載量。Serverless Framework早在2019年就已經(jīng)和騰訊達(dá)成了大中華區(qū)獨(dú)家的戰(zhàn)略合作,和騰訊云的云函數(shù)等Serverless產(chǎn)品深度集成,同時(shí)社區(qū)也有大量開箱即用的插件和模板,幫助開發(fā)者快速上手Serverless應(yīng)用開發(fā)。除此之外,云開發(fā)也是國內(nèi)最大的微信小程序應(yīng)用開發(fā)平臺,四川天府健康通、深圳機(jī)場智慧航旅服務(wù)等小程序應(yīng)用都是運(yùn)行在騰訊云的Serverless平臺之上。
02.
本次參評Serverless產(chǎn)品介紹
1.云函數(shù)SCF:函數(shù)即服務(wù)
云函數(shù)(Serverless Cloud Function,SCF)是騰訊云為企業(yè)和開發(fā)者們提供的無服務(wù)器執(zhí)行環(huán)境,幫助您在無需購買和管理服務(wù)器的情況下運(yùn)行代碼。只需編寫核心代碼并設(shè)置代碼運(yùn)行的條件,即可在騰訊云基礎(chǔ)設(shè)施上彈性、安全地運(yùn)行代碼。
優(yōu)勢亮點(diǎn)
·Web Function
只需簡單修改監(jiān)聽端口,即可將目前流行的Node.js框架直接部署上云,享受Serverless技術(shù)帶來的免運(yùn)維、低成本、按需擴(kuò)縮容的眾多優(yōu)勢。
·異步長時(shí)
突破傳統(tǒng)FaaS形態(tài)產(chǎn)品的執(zhí)行時(shí)長的限制,首家支持運(yùn)行長達(dá)24小時(shí)的長時(shí)任務(wù)的FaaS產(chǎn)品,支持體積較大的音視頻文件處理、直播推流、數(shù)據(jù)分析等多種場景。
·大規(guī)格函數(shù)實(shí)例
業(yè)界首發(fā)支持分配120GB(122,880MB)大內(nèi)存環(huán)境,可以更加輕松地處理具有更高內(nèi)存或更密集計(jì)算需求的工作負(fù)載,如音視頻處理、大數(shù)據(jù)分析等。
應(yīng)用場景
·Serverless建站
通過Web Function、容器化鏡像等方式平滑把應(yīng)用遷移至云函數(shù)之上,支持托管H5頁面、API、SSR應(yīng)用、小程序等多種形態(tài)的應(yīng)用形式,縮短研發(fā)周期,快速收集市場反饋從而加速產(chǎn)品迭代。
·Serverless音視頻處理
無需運(yùn)維虛擬機(jī)或者其他計(jì)算集群,利用云函數(shù)提供的極致彈性、按量計(jì)費(fèi)等特性,高效、低成本地進(jìn)行音視頻的錄制、轉(zhuǎn)碼、混流、剪輯和推流等操作,讓企業(yè)聚焦于音視頻處理邏輯本身,從而不斷提升內(nèi)容質(zhì)量,優(yōu)化視聽體驗(yàn)。
·云服務(wù)觸發(fā)器
可以通過觸發(fā)器連接其他的云服務(wù),如對象存儲(COS)、日志服務(wù)(CLS)等其他服務(wù),當(dāng)上游的數(shù)據(jù)發(fā)送變化的時(shí)候自動觸發(fā)函數(shù)執(zhí)行計(jì)算邏輯,典型的使用場景包括:CDN刷新和預(yù)熱、中間件消息轉(zhuǎn)存、文件備份等。
·Serverless數(shù)據(jù)處理
支持定時(shí)、消息隊(duì)列等多種形式觸發(fā)函數(shù)執(zhí)行輸出處理邏輯,進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)清洗、ETL等數(shù)據(jù)處理操作,處理之后的數(shù)據(jù)可以直接存儲至下游的數(shù)據(jù)倉庫、業(yè)務(wù)數(shù)據(jù)庫或者BI分析系統(tǒng)等。
2.TEM:微服務(wù)Serverless化
騰訊云彈性微服務(wù)(Tencent Cloud Elastic Microservice,TEM)是面向微服務(wù)應(yīng)用的Serverless PaaS平臺,實(shí)現(xiàn)Serverless與微服務(wù)的完美結(jié)合,應(yīng)用零改造上云,按量付費(fèi),免運(yùn)維,提供開箱即用的微服務(wù)應(yīng)用托管服務(wù)。
彈性微服務(wù)擁抱開源,支持Spring Cloud等微服務(wù)應(yīng)用零改造上云,提供應(yīng)用運(yùn)行托管、服務(wù)注冊發(fā)現(xiàn)、微服務(wù)治理、多維度監(jiān)控等能力,滿足Consul、Eureka等多種注冊中心需求。彈性微服務(wù)幫助您創(chuàng)建和管理云資源,并提供秒級彈性伸縮,您可按需使用、按量付費(fèi),極大降低資源和運(yùn)維成本,讓您充分聚焦企業(yè)核心業(yè)務(wù)邏輯,助力業(yè)務(wù)成功。
優(yōu)勢亮點(diǎn)
·免運(yùn)維
·按量付費(fèi)
·極致彈性
·快速交付
應(yīng)用場景
·微服務(wù)應(yīng)用托管
彈性微服務(wù)通過應(yīng)用托管、服務(wù)注冊與發(fā)現(xiàn)、服務(wù)治理、調(diào)用鏈與多維度監(jiān)控等功能力,為客戶提供開箱即用的微服務(wù)解決方案。幫助企業(yè)用戶快速構(gòu)建微服務(wù)應(yīng)用,大幅提升運(yùn)維效率,降低服務(wù)治理的復(fù)雜度與技術(shù)門檻,讓企業(yè)聚焦核心業(yè)務(wù)本身,助力客戶成功。
·突發(fā)、潮汐流量
在業(yè)務(wù)呈現(xiàn)潮汐特性、突發(fā)流量等場景下,容易出現(xiàn)訪問響應(yīng)超時(shí)、錯(cuò)誤率提升等問題。騰訊云彈性微服務(wù)提供秒級彈性伸縮能力,幫助企業(yè)客戶輕松應(yīng)對流量高峰。
·快速迭代
騰訊云彈性微服務(wù)幫助客戶持續(xù)集成與交付,實(shí)現(xiàn)微服務(wù)應(yīng)用快速迭代。從代碼開發(fā)到應(yīng)用交付,彈性微服務(wù)提供IDE插件、灰度發(fā)布等多發(fā)布策略的能力,助力企業(yè)客戶快速驗(yàn)證業(yè)務(wù)價(jià)值。
3.EKS:原生K8s的Serverless化
彈性容器服務(wù)EKS(Elastic Kubernetes Service)是騰訊云容器團(tuán)隊(duì)的推出的Serverless化Kubernetes服務(wù),無須用戶購買節(jié)點(diǎn),直接部署工作負(fù)載。其完全兼容原生Kubernetes,支持使用原生方式購買及管理資源,按照容器真實(shí)使用的資源量計(jì)費(fèi)。
無論是自建K8s集群,還是騰訊云TKE托管集群,只要網(wǎng)絡(luò)互通,即可通過部署EKS虛擬節(jié)點(diǎn)的方式,幾乎無成本擴(kuò)展集群資源池。在擴(kuò)容Pod時(shí)可自動或手動快速將Pod調(diào)度到「虛擬節(jié)點(diǎn)」對應(yīng)的騰訊云公有云資源上。
自建K8s集群,手動部署EKS虛擬節(jié)點(diǎn):https://github.com/tkestack/charts/tree/main/incubator/tke-resilience
TKE集群,可直接通過產(chǎn)品化能力部署;
優(yōu)勢亮點(diǎn)
·秒級伸縮
相比傳統(tǒng)的通過擴(kuò)縮服務(wù)器去調(diào)度資源(流程重,耗時(shí)久),虛擬節(jié)點(diǎn)提供一種直接調(diào)度Pod的能力,可以更快、更高效的彈性。
·節(jié)省成本
按需使用,減少集群預(yù)留buffer,將集群的節(jié)點(diǎn)維護(hù)在資源利用率更高、使用和預(yù)留更合理的水平。
更快、更高效的彈性能力,降低提前預(yù)留資源的計(jì)費(fèi)周期。
免去維護(hù)服務(wù)器的運(yùn)維成本,
應(yīng)用場景
·微服務(wù)場景
使用彈性容器服務(wù)EKS來運(yùn)行微服務(wù),免除用戶對計(jì)算節(jié)點(diǎn)的運(yùn)維工作。服務(wù)可根據(jù)負(fù)載情況自動伸縮,使用最合理的資源量來承載應(yīng)用,降低資源使用成本。
·離線計(jì)算場景
使用彈性容器服務(wù)EKS運(yùn)行離線計(jì)算任務(wù),只需準(zhǔn)備容器鏡像,即可快速部署任務(wù)負(fù)載。另外,彈性容器服務(wù)EKS僅收取任務(wù)真實(shí)運(yùn)行時(shí)間所使用算力的費(fèi)用,任務(wù)結(jié)束Pod自動釋放即結(jié)束計(jì)費(fèi)。
·在線推理場景
彈性容器服務(wù)EKS支持使用CPU、GPU以及vGPU來運(yùn)行在線推理服務(wù),豐富的資源規(guī)格和彈性伸縮的負(fù)載,使運(yùn)行服務(wù)更高效、更經(jīng)濟(jì)。、