超越JavaScript:亚马逊发布Lambda Layers和Runtime API

AWS re:Invent 2018发布了很多新功能和服务,包括Lambda Layers,用于集中管理跨功能共享的代码和数据,以及Lambda Runtime API,将AWS Lambda从JavaScript扩展到其他编程语言。

在Lambda Layers之前,需要打包和部署功能所使用的共享代码。而有了Lambda Layers之后,开发人员将公共组件放在zip文件中,并将其作为Lambda Layer资源上传。

Lambda Layers通常是可预测的。例如,可以对层进行版本控制,以便更好地管理更新,并且每个版本都是不可变的。在配置函数时,它最多可以引用五个层,其中一个有可能是运行时。调用层的顺序是相关的,因为每个层都可以覆盖上一层的功能。AWS技术布道师Danilo Poccia解释说:

第一层可以是运行时,第二层可以添加所需库的特定版本。

Lambda Layers允许开发人员强制分离依赖项和自定义业务逻辑之间的关注点,让功能代码更加集中,从而加快部署,因为依赖项可能可以被重用。

AWS团队提供了一些示例层,包括非常流行的Python库NumPy和SciPy,帮助加快开发人员在数据处理和机器学习应用程序方面的工作进展。第三方也提供了Lambda Layers,用于应用程序监控、安全和管理方面。

除了Lambda Layers之外,还有另一个更加重要的发布,即Lambda代码现在可以使用非JavaScript运行时。Runtime API层为其他编程语言的代码和Lambda环境或其他JavaScript环境(比如来自NodeSource的N|Solid Node.js Lambda Runtime环境)之间提供了通信能力。

运行时之间的通信使用基于HTTP的接口来获取新调用的事件有效载荷,从函数中返回响应。

根据公告,目前有C++、Ruby和Rust运行时环境可用。AWS正在与其他合作伙伴合作开发其他运行时环境,包括Erlang(Alert Logic)、Elixir(Alert Logic)、Cobol(Blu Age)、Node.js(NodeSource N|Solid)和PHP(Stackery)。未来的其他语言应该使用Lambda Runtime API。

社区对Lambda Runtime的支持一直都很积极。谷歌开发人员Kelsey Hightower解释了他的Lambda Runtime使用经历:

在构建我的第一个自定义Lambda运行时之后,可以说,Lambda Runtime API改写了游戏规则。Lambda Runtime API和Lambda Layers之间的组合,让我不再认为添加对容器的支持会为Lambda带来任何额外的好处。与无服务器工作负载的容器相比,Lambda Runtime API提供了一个主要好处:一个定义良好的运行时API,可帮助我们更好地完成工作。

用户可以通过AWS控制台或AWS CLI使用Lambda Layers和Runtime API。AWS无服务器应用程序模型(SAM)和SAM CLI也可用于测试、部署和管理使用了这些新的Lambda功能的应用程序。

查看英文原文AWS Lambda Layers and Runtime API: beyond JavaScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值