InfoQ|是时候给应用架构做减法了,开发运维配置繁杂( 三 )


随后2018年的AWSre:Invent大会上 , AWS又开源了Firecracker——AWS容器安全沙箱的基础组件 。 它是AWS针对无服务器计算设计的虚拟化技术(利用KVM的新虚拟化技术 , 专门用于创建和管理多租户容器以及基于函数的服务) 。 目前 , Firecracker已为Lambda和Fargate在内的多个高容量AWS服务提供支持 。 Firecracker诞生的内因 , 也是Lambda演进的结果 。
从Lambda到Fargate , 再到Firecracker , 显示了AWS在Serverless架构等"基础服务"方面的革新能力 。 对于用户而言 , 这些服务的提供 , 正在让开发者逐步对其带来的安全、高性能、低开销等特性感知更加明显 。
3更多服务及工具 , 帮助开发者更高效地上手Serverless当然 , 除了Lambda、Fargate这类计算类服务外 , AWS可提供与之相关各个维度的一系列完全托管的服务 。 开发者可以使用这些托管服务构建和运行无服务器应用程序 , 从而解决一些特定问题 。 这里 , 我们列出了一份服务清单:
InfoQ|是时候给应用架构做减法了,开发运维配置繁杂
文章图片
以上分类及工具清单来源于AWS官网(https://aws.amazon.com/cn/serverless/)有了AWS上述服务的支持 , 开发者无需为后端组件(如计算、数据库、存储、流处理、消息排队等)预置、维护和管理服务器 。 同时 , 应用程序的容错能力和可用性也可以变得更强 。
此外 , AWS及合作伙伴生态系统也在开发者工具上提供了多样化使用组合 , 包括框架、软件开发工具包、IDE插件和监控解决方案等 。
例如框架层面 , AWS兼容了AWSSAM(用简单方式定义Lambda函数、API、数据库以及事件源映射)、Apex、Chalice等近十款AWS自研、开源或第三方的框架供开发者使用 。 持续集成和部署层面 , AWSCodePipeline、AWSServerlessApplicationModel、AWSCodeBuild等一系列工具可以帮助开发者自动化构建、测试和部署无服务器应用程序 。 监控及日志记录与诊断层面 , 也有AmazonCloudWatch和AWSX-Ray等辅助进行函数性能监控或故障排除 。
归纳来看 , 无论是扩充提供不同的服务还是丰富的开发者工具 , AWS都是尽可能地帮助开发者在应用Serverless架构的过程中 , 降低其遇到不同场景下处理复杂问题的难度 , 从而让为“高效”而生的Serverless技术能更高效的让开发者上手 , 更高效的解决问题 , 从而带来更高效地用户体验 。
最后要提的是 , Serverless是利用云的要素帮助用户实现价值交付的颠覆式创新 。
因为用户价值交付涉及方法论、开发者工具、应用交付体系、商业模式设计等多个维度 , 所以Serverless是顶层设计的产物 。 它并不是任何企业在任何场景下都必须要“跟风”应用的时髦技术 , 毕竟它从真正诞生到至今应用 , 还只有短短6年而已 。 开发者们一定要选最合适 , 而非最流行的架构方式 。
【InfoQ|是时候给应用架构做减法了,开发运维配置繁杂】而一旦当你下定决心全面应用Serverless , 也一定要在这项新兴技术得到普及之前 , 学会借助实用的服务或工具来应对复杂问题 , 进而帮助你更快地创建高效、高性能的新架构及软件系统 , 让你的“酷想法”更快成真 。