5月26日,以“原生蓄力,云領(lǐng)未來”為主題的2021年云原生產(chǎn)業(yè)大會在北京啟幕,華為云Serverless函數(shù)工作流(FunctionGraph)通過了基礎(chǔ)能力要求、平臺可觀測能力、服務(wù)性能、服務(wù)安全和服務(wù)計量準確性等五大類、20+項測試,以穩(wěn)定、可靠、高效的服務(wù)能力榮獲可信云函數(shù)即服務(wù)能力認證。同時,在云原生2.0分論壇環(huán)節(jié),華為云Serverless函數(shù)服務(wù)產(chǎn)品經(jīng)理分享了“華為云Serverless函數(shù)服務(wù),讓開發(fā)上云極簡高效”的主題演講。
華為云FunctionGraph 榮獲可信云函數(shù)即服務(wù)能力認證
Serverless作為云原生技術(shù)發(fā)展重要力量之一,開啟了應(yīng)用架構(gòu)的“無服務(wù)器”時代,為架構(gòu)設(shè)計、開發(fā)者編程帶來了全新的思路。Serverless技術(shù)的興起,極大簡化了云計算的編程模型,讓開發(fā)人員無需關(guān)注服務(wù)器,聚焦應(yīng)用創(chuàng)新。
應(yīng)用架構(gòu)不斷演進 Serverless 2.0 全方位承載高效應(yīng)用開發(fā)
應(yīng)用復(fù)雜度的提升和云計算的發(fā)展不斷推動應(yīng)用架構(gòu)、編程方式的持續(xù)演進。從最初的單體架構(gòu)前期開發(fā)簡單、快速,隨著系統(tǒng)規(guī)模增大,因為架構(gòu)耦合導(dǎo)致的無法獨立升級、演進等問題持續(xù)放大。架構(gòu)開始朝著微服務(wù)演進并逐漸成為主流,應(yīng)用按照微服務(wù)粒度進行拆分,接口標準化,環(huán)境標準化,可以按天或周進行升級發(fā)布,幫助應(yīng)用實現(xiàn)了快速迭代。服務(wù)架構(gòu)給開發(fā)者帶來了便利,但也帶來了復(fù)雜度,用戶依然需要關(guān)注服務(wù)器配置、后端服務(wù)管等運維工作,無法享受云帶來的最大便利。
Serverless架構(gòu)是在微服務(wù)架構(gòu)基礎(chǔ)上的進一步延伸,按照業(yè)界通常的定義,Serverless = FaaS(Function as a Service) + BaaS(Backend as a Service)。相比微服務(wù),F(xiàn)aaS將資源調(diào)度的粒度縮小到函數(shù),針對無狀態(tài)、短時處理任務(wù),通過函數(shù)式編程方式,進一步降低了應(yīng)用開發(fā)門檻,縮短了應(yīng)用上線周期。 但當(dāng)前的FaaS,通常不適合用于長時任務(wù)、大數(shù)據(jù)處理等工作,函數(shù)間通信時延性能較低,被稱之為Serverless 1.0階段。
到了Serverless 2.0階段,將在此基礎(chǔ)上大大擴展其應(yīng)用范圍,全場景支持各種應(yīng)用負載。其典型特征包括:可以支持長時運行的任務(wù);內(nèi)置數(shù)據(jù)系統(tǒng),可以支持有狀態(tài)函數(shù),支持大數(shù)據(jù)處理;內(nèi)置通信系統(tǒng),函數(shù)間可以通過總線進行高性能通信。
華為云Serverless函數(shù)工作流FunctionGraph,讓開發(fā)聚焦應(yīng)用創(chuàng)新
華為云在Serverless技術(shù)的研究和實踐過程中提出: Serverless作為云計算下半場的計算范式,需要解決通用應(yīng)用開發(fā)、原有應(yīng)用系統(tǒng)無縫對接、支持異構(gòu)硬件等問題,并且有完備的工具鏈、云服務(wù),才能讓更多的開發(fā)者享受Serverless帶來的紅利。
華為云Serverless函數(shù)工作流FunctionGraph是一款帶編排能力的函數(shù)計算服務(wù),提供了界面化管理、一站式的函數(shù)開發(fā)上線功能,支持6大類語言、支持10+類的函數(shù)觸發(fā)器類型;擁有豐富的觸發(fā)器類型,通過事件觸發(fā)集成多種云服務(wù),滿足不同場景需求;根據(jù)請求的并發(fā)數(shù)量自動調(diào)度資源運行函數(shù),實現(xiàn)按需極速彈性;函數(shù)運行實例出現(xiàn)異常,系統(tǒng)會啟動新的實例處理后續(xù)的請求,實現(xiàn)秒級故障自愈。
基于華為云Serverless的多場景應(yīng)用與實踐落地
Serverless架構(gòu)所具有的IT資源可根據(jù)需求彈性伸縮的特點,從場景上大致可分為以下幾類:
類型一:單用途無狀態(tài)類,典型的應(yīng)用有小程序后端、Web后端、三方服務(wù)商對接等。這類應(yīng)用使用函數(shù)編程可以極大簡化開發(fā)流程,做到小時級交付。
類型二:事件驅(qū)動類,如實時的圖片處理、實時的數(shù)據(jù)流處理、IoT的事件處理等。這是Serverless最典型的一類應(yīng)用,特點是事件驅(qū)動+計算膠水層,計算膠水層的邏輯通過函數(shù)來實現(xiàn)。
類型三:彈性伸縮類應(yīng)用,如視頻轉(zhuǎn)碼、視頻直播、熱點事件推送等,這類應(yīng)用的特征是通常無法預(yù)知流量大小,需要基礎(chǔ)設(shè)施能夠做到底層資源無感,自動的快速彈縮而不影響業(yè)務(wù)層的處理。
在華為云Serverless場景落地方面,已全面實現(xiàn)了在移動端的應(yīng)用實踐。比如:在2020年疫情期間,華為負一屏基于Serverless架構(gòu)實現(xiàn)了“新型肺炎疫情實時播報”應(yīng)用一天上線,極大提升了應(yīng)用開發(fā)的敏捷性。
另外一個典型應(yīng)用場景是關(guān)于視頻處理中的Serverless實踐,此場景中同一個視頻直播流里需要插入多個AI特效渲染函數(shù),函數(shù)間需要傳遞大量數(shù)據(jù),在現(xiàn)有函數(shù)架構(gòu)下需要經(jīng)過多次外部存儲讀寫,而通用采用狀態(tài)內(nèi)置的函數(shù)技術(shù),將一次讀寫的訪問耗時從200ms降低到5ms,從而滿足端到端業(yè)務(wù)時延要求。
在2019年伯克利發(fā)布的《Cloud Programming Simplified》展望中,提出Serverless將成為云計算的下一代默認計算范式。 對于云計算應(yīng)用架構(gòu)來說,“無服務(wù)器”時代的Serverless技術(shù)必將引領(lǐng)云計算下一個階段,華為云亦將聚焦客戶價值,聚力云原生2.0 Serverless解決方案,大幕開啟,創(chuàng)造無限可能!