AWS在年度re:Invent大会中,发布多项无服务器运算服务AWSLambda的更新,包括,并且开始支持,而且,也从原本毫秒,降低至1毫秒。
现在用户可以分配给Lambda函数的内存,是过去的3倍达到10GB,而依AWS内存线性分配CPU和其他资源的规则,代表用户现在可以在每个执行环境,存取最多6个vCPU,这使得多线程和多程序应用程序的执行速度,能够获得提升,AWS提到,因为Lambda的计费方式,与内存配置量和函数执行时间成正比,使用比较多的内存,虽然要付出较多的费用,但可能因为执行速度较快时间较短,因此抵销额外增加的费用。
由於有更多的内存和CPU资源,加上对AVX2指令集的支持,AWSLambda现在可以支持更多的使用案例,包括机器学习应用程序,或是批次处理与ETL等数据处理工作,也能用於游戏、媒体处理或是高性能运算工作负载。
另一项新功能,是可以在AWSLambda中使用容器工具,现在用户可以将Lambda函数,打包成最大10GB的容器映像文件,并且部署到Lambda上,这种方式可以降低,有较多相依项目的工作负载部署复杂性,像是机器学习或是数据密集型的工作负载,AWS提到,像是原本将函数打包成ZIP文件一样,以容器映像文件的形式部署,同样可以获得自动扩展、高可用性,并且与其他服务原生整合的特性。
AWS对所有LambdaRuntime,包括Python、Node.js、Java、.NET、Go和Ruby,提供基础映像文件,用户可以在这些基础映像文件中,添加程序码和相依项目,同时AWS也提供以AmazonLinux为基础的基础映像文件,给自定义Runtime使用,而且用户也可以将建构在Alpine或DebianLinux之上的映像文件,部署到Lambda中,不过要使用Lambda,这些映像文件必须要实例化LambdaRuntimeAPI。
AWS还开源了LambdaRuntime接口模拟器,让用户可以在本机端测试容器映像文件,以确定容器映像文件部署到Lambda时,可以正确运作,这个模拟器随附在所有AWS提供的映像文件中,但也可以与任意的映像文件一起使用。
AWS还更新了Lambda的计价方式,Lambda用户依程序码触发次数和执行时间付费,单位执行时间则四舍五入至毫秒,也就是说,未满毫秒的运算,会以毫秒的运算时间计费,而现在,单位执行时间从毫秒降至1毫秒,没有最小执行时间的限制,AWS提到,这个新的定价方式,可降低用户大部分运算时间花费,尤其是执行时间远低於毫秒的函数。