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