AWS更新其無伺服器運算服務Lambda,加入SnapStart新功能來加快初始階段,進而加速整體函式的執行速度,AWS提到,SnapStart可讓Spring Boot、Quarkus和Micronaut等Java框架啟動速度提高至10倍。

AWS解釋,函式執行環境生命周期有三個主要的階段,分別為初始(Init)、調用(Invoke)和結束(Shutdown),而初始則是啟動Runtime並且執行函式靜態程式碼的階段,在許多情況下,這些操作會在數毫秒內完成,並且不會有任何明顯的時間延長。

但在部分情況,函式初始可能會需要相當長的時間,像是Spring Boot、Quarkus或Micronaut等Java程式語言框架,就會花費較長的時間初始化Runtime,整個Lambda函式初始化可能長達10秒,執行諸如相依項目注入和函式程式碼編譯等操作,另外,靜態程式碼也可能需要下載機器學習模型,預計算一些參照資料,或是和其AWS服務建立網路連接。

而Lambda SnapStart能夠針對Lambda函式啟動最佳化程序,該程序會啟動函式並且在初始階段運作,擷取記憶體和磁碟狀態成為不可篡改的加密快照,並且將其快取以供重複使用。之後當函式再次被呼叫時,狀態將會從快取中檢索並用於填充環境。AWS提到,由於最佳化讓創建新的執行環境不需要經過初始階段,因此函式呼叫時間將更快更可預測。

熱門新聞

Advertisement