一、Serverless 簡介
軟件架構(gòu)的發(fā)展從原先的單體架構(gòu)到近十幾年的微服務(wù)架構(gòu),再到現(xiàn)在新興的 Serverless 架構(gòu)。單體架構(gòu)通常把應(yīng)用的邏輯和功能耦合在一起,部署在 BMS 裸金屬機(jī)或 VM 上,耦合模式使得一些通用功能或通用邏輯無法靈活復(fù)用,經(jīng)常出現(xiàn)重復(fù)造輪子的現(xiàn)象,架構(gòu)整體上是相對封閉的。
微服務(wù)時代對應(yīng)用做了拆分,組件服務(wù)化,誕生了一系列優(yōu)秀的設(shè)計(jì)原則,如接口標(biāo)準(zhǔn)化、CS/CD 自動化,使得應(yīng)用初步具備了彈性和自動容錯的能力。
在 Serverless 的框架下,應(yīng)用的粒度更細(xì),例如以函數(shù)為粒度進(jìn)行管理和開發(fā)迭代,應(yīng)用通過事件驅(qū)動的方式觸發(fā)運(yùn)行。
Serverless 可以看作是一種云計(jì)算服務(wù)模型,它允許開發(fā)者在不需要管理服務(wù)器的情況下通過事件驅(qū)動的方式運(yùn)行應(yīng)用代碼,主要解決資源托管、調(diào)度、運(yùn)維管理等一系列平臺型問題,可以看作是 DevOps 的進(jìn)一步延伸。
從傳統(tǒng)微服務(wù)向 Serverless 演進(jìn)的過程中,資源管理的邊界逐步上移。在微服務(wù)時代,虛機(jī)/容器時代,開發(fā)者發(fā)布應(yīng)用,需要管理虛擬化層或更向上的運(yùn)行時細(xì)節(jié);而從 IaaS 到 Serverless,抽象度越來越高,底層細(xì)節(jié)的屏蔽度也越來越高,對于開發(fā)者而言,云的易用性性也在增強(qiáng),門檻在降低。
Serverless 將是下一代的云計(jì)算范式,得益于它在按因付費(fèi)、自動彈性、免運(yùn)維等方面的顯著優(yōu)勢。通用全場景的 Serverless 能夠幫助企業(yè)解決更廣泛的計(jì)算和運(yùn)行交付的問題。實(shí)際上,Serverless 也在過去幾年的發(fā)展中,逐步增長成為下一代云上交付、運(yùn)行與交付標(biāo)準(zhǔn)的框架。
二、華為云Serverless核心技術(shù)
Serverless 平臺的應(yīng)用托管流程
Serverless 的特點(diǎn)是按用計(jì)費(fèi)、按需計(jì)費(fèi),如果終端沒有流量,平臺會自動回收應(yīng)用資源,不需要為空閑時間付費(fèi),需要再次使用時,通過重新啟動的方式再次加載。
冷啟動或進(jìn)一步延伸到高并發(fā)下的彈性問題,用戶側(cè)應(yīng)用托管到 Serverless 平臺上,如果頻繁經(jīng)歷冷啟動,應(yīng)用的 QoS 下降,最直觀體現(xiàn)在終端用戶頁面的 Web應(yīng)用響應(yīng)很慢,有超時的風(fēng)險(xiǎn),導(dǎo)致用戶側(cè)體驗(yàn)下降。對云平臺側(cè),冷啟動和彈性關(guān)系著資源利用率,例如多租戶進(jìn)行混合部署時,預(yù)熱效率的提升問題,以及平臺多用戶多應(yīng)用流量并發(fā)上漲時的彈性問題。因此,冷啟動和彈性問題是 Serverless 領(lǐng)域廣泛關(guān)注的技術(shù)重點(diǎn)。
為了解決上述問題,華為云 Serverless 做了一系列的探索。
鏈路加速:通過高性能解壓縮轉(zhuǎn)換與共享內(nèi)存加速技術(shù),能夠把性能提升 2-11 倍;通過公共依賴包分離、預(yù)解壓與動態(tài)按需link技術(shù),加速應(yīng)用冷啟動5-10倍。
池化預(yù)熱、彈性調(diào)度:通過資源池化預(yù)熱、分層預(yù)加載與彈性水位控制,實(shí)現(xiàn)毫秒級(10?ms)?彈性。
智能預(yù)熱:以智能、分層資源預(yù)熱實(shí)現(xiàn)負(fù)載感知,自適應(yīng)池化水位控制;采用負(fù)載、資源壓力預(yù)測框架,實(shí)現(xiàn)良好擴(kuò)展性、數(shù)據(jù)驅(qū)動、以及工程師經(jīng)驗(yàn)的規(guī)則注入。
預(yù)留實(shí)例智能推薦策略:通過建模的方式推算給定時間段大概需要的實(shí)例數(shù)量,提供高性能、平衡、低成本三種預(yù)留實(shí)例配置策略。
三、華為云Serverless最佳實(shí)踐
案例一:Mock服務(wù)接入Serverless
客戶 Mock 服務(wù)可以模擬接口的響應(yīng),常用于服務(wù)打樁,避免由于依賴服務(wù)的不穩(wěn)定,造成自身開發(fā)和測試進(jìn)度的阻塞。在華為云 Serverless的幫助下,從手動擴(kuò)縮容變成毫秒級的自動彈性,提升開發(fā)、上線效率100%,資源成本降低50%
案例二:視頻業(yè)務(wù)基于函數(shù)實(shí)現(xiàn)BFF(BackendsForFrontends)模式
使用函數(shù) BFF 架構(gòu)后,華為視頻登錄速度提升 0.6~1s,相比原有方案快 30%~40%。
案例三:基于Serverless構(gòu)建的視頻轉(zhuǎn)碼服務(wù)
基于 Serverless 構(gòu)建的視頻轉(zhuǎn)碼服務(wù),函數(shù)編排的能力,由多個函數(shù)協(xié)同提供完整的功能,比如一個視頻處理業(yè)務(wù)下,有多個視頻處理的算子,能夠自動彈性伸縮。完整改造后,整個成本降低了 80%。
四、General-purposeServerless展望
未來,邊緣、中間件、托管、大數(shù)據(jù)將全面 Serverless 化,最底層是 Serverless 的 BaaS 的資源、資源池的自動化管理和快速彈性的能力。在底座之上,是跟業(yè)務(wù)相關(guān)的函數(shù)計(jì)算、容器和托管,三種共存。Serverless 容器將下沉到 Serverless 底座,只需要對底座資源進(jìn)行管理。在邊緣端,傳統(tǒng)的容器或是虛機(jī)可能無法支撐,采用 Serverless+WASM 是更可行的方案。
審核編輯 黃宇
-
華為云
+關(guān)注
關(guān)注
3文章
2391瀏覽量
17247 -
serverless
+關(guān)注
關(guān)注
0文章
65瀏覽量
4490
發(fā)布評論請先 登錄
相關(guān)推薦
評論