@lsmn
2018-03-18T18:31:27.000000Z
字数 1932
阅读 1944
云计算
AWS
自re:Invent 2017大会以来,经过一段短暂的预览期之后,Amazon Web Services(AWS)正式发布了其新的无服务器应用程序库。现在,用户可以通过AWS Lambda控制台发现、配置和部署无服务器应用程序和组件了,AWS认为,“这是AWS合作伙伴、企业客户、独立开发者分享无服务器应用的理想场所”。
自re:Invent 2017大会以来,经过一段短暂的预览期之后,Amazon Web Services(AWS)正式发布了其新的无服务器应用程序库。现在,用户可以通过AWS Lambda控制台发现、配置和部署无服务器应用程序和组件了,AWS认为,“这是AWS合作伙伴、企业客户、独立开发者分享无服务器应用的理想场所”。
为了简化“AWS上无服务器应用程序的管理和部署”,AWS在re:Invent 2016大会上推出了无服务器应用程序模型(SAM)。SAM是一个开源规范,扩展了AWS的基础设施即代码服务CloudFormation,为其提供了专用的资源类型和定制的打包、部署命令。AWS接下来发布了基于Docker的SAM Local,以便让开发人员可以“在本地测试函数、通过SAM模板启动本地API Gateway、SAM模板验证、生成各种事件源的示例载荷”(之前报道过)。
现在,AWS添加了无服务器应用程序库,专门用于SAM应用程序的打包、发现和配置服务。和仍然提供的Blueprints特性一样,它也集成了AWS Lambda控制台的函数创建向导,引导用户完成发现和部署步骤。
图片:Lambda控制台中AWS无服务器应用程序库函数创建向导
不过,这也是仅有的相似之处。Blueprint仅仅是部署单个“作为起点”的函数,而SAM应用程序让解决方案需要的IAM策略和权限、在底层CloudFormation模板中声明的需要配置的AWS资源及其许可证一目了然。然后,应用程序消费者可以指定必选参数和可选参数,并把解决方案部署为一个CloudFormation栈。所有的栈资源都会使用应用程序的Amazon资源名(ARN)标记,那样就可以在AWS管理控制台上识别和监控。
相应地,该方法为应用程序发布者提供了一个新的分发模型,他们现在也可以提供无服务器解决方法,让客户部署在自己的AWS账户下。应用程序的访问控制通过基于资源的IAM策略实现,因此,可以限定到发布者所在的AWS组织(之前报道过)的特定团队,有选择地和第三方账户共享,或者只是公开发布,所有AWS用户都可以访问。
公开共享的应用程序还需要一个指向应用程序源代码的链接。许多已有的Blueprint已经被转换成无服务器应用程序,它们的源代码在相应SAM GitHub库的examples/apps文件夹中。Jeff Barr(AWS首席宣传官)特别强调说,对于这种新型分发模型的消费者而言,这意味着更大的自由:
你可以进入无服务器应用程序和组件的蓬勃发展的生态圈[……]。你可以配置并原封不到地使用它们,或者把它们拆分,加入新特性,然后向作者提交pull request。
要创建应用程序,发布者需要定义一些常见参数,如应用程序名称、作者、描述、自述文件、标签,并选择一个“开源友好的软件包数据交换(SPDX)许可”。应用程序版本可以稍后提交,需要一个语义版本,当然还有SAM模板。另外,还有两个限制需要注意:
us-east-1
或us-east-2
的应用程序才是全球可用的,发布到其他区域的应用程序只能在那个AWS区域里使用;无服务器应用程序库是对更为综合的IT服务发现和治理解决方案AWS服务目录的完善,该服务同样是基于AWS CloudFormation构建的,但它关注的是面向更广泛应用程序类型的集中管理的IT服务组合和生命周期。它还可以集成ISV和咨询合作伙伴在AWS市场上提供的第三方服务。
无服务器应用程序库开发者指南介绍了应用程序的消费和发布以及REST API资源参考,其中还包括AWS CLI参考和专门的FAQ。目前为止,技术支持还是通过AWS Lambda论坛提供,后续会转到新建的AWS无服务器应用程序库论坛。无服务器应用程序库本身免费试用,配备的AWS资源,如API网关、Lambda函数、DynamoDB表,则按照日常使用计费。
查看英文原文:AWS Makes Serverless Application Repository Generally Available