AWS宣布現(xiàn)在Lambda擴(kuò)展組件正式發(fā)布,該功能讓用戶可以在無(wú)服務(wù)器運(yùn)算服務(wù)Lambda中,集成自己愛(ài)用的工具,以進(jìn)行監(jiān)控、安全性和治理等任務(wù)。用戶可以使用控制臺(tái)和命令行工具,簡(jiǎn)單地安裝擴(kuò)展組件,以執(zhí)行消息截取或是自動(dòng)偵測(cè)程序代碼等需求。目前這項(xiàng)功能已經(jīng)在美東北維吉尼亞地區(qū),以及歐洲的愛(ài)爾蘭和米蘭地區(qū)正式上線。
官方表示,Lambda擴(kuò)展組件提供了一個(gè)容易擴(kuò)展Lambda執(zhí)行環(huán)境的方法,AWS用戶、AWS合作廠商和開(kāi)源社群,都可以使用Lambda Extensions API來(lái)構(gòu)建擴(kuò)展組件,這些組件能在Lambda函數(shù)的執(zhí)行流程中,提供增強(qiáng)功能。
比起在2020年10月所發(fā)布的AWS Lambda擴(kuò)展組件預(yù)覽版,在正式版本有了功能調(diào)整,用戶的程序代碼執(zhí)行完后,可立即送出回應(yīng),而不需要等待擴(kuò)展組件工作完成,如此,擴(kuò)展組件就可以在函數(shù)回傳回應(yīng)消息后,執(zhí)行像是發(fā)送遙測(cè)資料這類的工作。
官方提到,AWS Lambda擴(kuò)展組件的使用場(chǎng)景,可以包括在調(diào)用函數(shù)前、期間和之后截取診斷信息,或是以擴(kuò)展組件自動(dòng)查看程序代碼,也能利用安全代理來(lái)進(jìn)行檢測(cè)和警告函數(shù)活動(dòng),以及將遙測(cè)資料,用異步的方式,發(fā)送到S3和Kinesis等自定義目標(biāo)。
AWS Lambda擴(kuò)展組件的安裝與配置管理簡(jiǎn)單易用,用戶可以使用Lambda圖層將工具加到函數(shù)中,或是將其添加至函數(shù)鏡像文件,以容器的方式來(lái)部署。Lambda擴(kuò)展組件使用擴(kuò)展API來(lái)注冊(cè)功能和執(zhí)行環(huán)境生命周期事件,并且啟動(dòng)新的程序或是執(zhí)行邏輯,來(lái)回應(yīng)這些事件。而Lambda擴(kuò)展組件也可以使用Runtime Logs API來(lái)訂閱,從Lambda執(zhí)行環(huán)境送往Amazon CloudWatch的日志流媒體,Lambda流媒體這些日志到擴(kuò)展組件,以進(jìn)行處理、過(guò)濾和發(fā)送等任務(wù)。
多數(shù)用戶不需要了解API的運(yùn)行,可以僅通過(guò)配置Lambda函數(shù)中的選項(xiàng)使用擴(kuò)展組件,用戶使用在Lambda控制臺(tái)、命令行工具、基礎(chǔ)設(shè)施即程序代碼服務(wù),以及像是AWS CloudFormation和Terraform等工具,安裝和管理擴(kuò)展組件。AWS與HashiCorp、Datadog和Splunk等企業(yè)合作,在Lambda上提供擴(kuò)展組件,另外,AWS也提供了4款自家服務(wù)的擴(kuò)展組件,分別是AppConfig、CodeGuru Profiler、CloudWatch Lambda Insights和Distro for OpenTelemetry。
Lambda擴(kuò)展組件與函數(shù)共享計(jì)費(fèi)模型,AWS會(huì)收取Lambda生命周期中的運(yùn)算時(shí)間,在函數(shù)調(diào)用方面,用戶需要支付服務(wù)請(qǐng)求、程序代碼執(zhí)行以及所有擴(kuò)展組件運(yùn)算時(shí)間的費(fèi)用。官方也提醒,Lambda擴(kuò)展組件因?yàn)榕c函數(shù)共享CPU、內(nèi)存和存儲(chǔ)資源,因此可能會(huì)影響性能,而且擴(kuò)展組件會(huì)在函數(shù)程序代碼之前初始化,因此函數(shù)的執(zhí)行時(shí)間也會(huì)跟著增加。