10 月 9 日,阿里云宣布正式推出函数计算2.0解决方案,为用户提供更具性价比和更高效开发运维体验的 Serverless 计算服务。函数计算 2.0 提供了丰富的计费方式,全新的实例类型,灵活的自定义运行时,全方位升级的工具链,解决了当前 Serverless 计算服务在成本、性能、应用构建等方面的痛点。
2019 年,Serverless 被 Gartner 称为最有潜力的云计算技术发展方向,并被赋予是必然性的发展趋势。Serverless 是一种云原生架构模式,从底层开始变革计算资源的形态,为软件架构设计与应用服务部署带来了新的设计思路,将繁重的基础设施管理工作交由云服务商负责,从而提高开发者的研发效率和创新能力。
通过 Serverless,开发人员只需上传代码,通过事件触发或者 API 调用执行函数即可。因此,Serverless 计算平台会根据应用负载自动伸缩计算资源,处理各种类型的故障,可靠的执行用户代码。虽然 Serverless 计算在工程效率等方面有明显优势,但国内外现有产品在成本、性能、应用构建等方面还有明显的限制。主要体现在:
1. 函数实例完全由系统控制。根据负载动态启停实例虽然提高了资源利用率,但也导致了请求处理时长毛刺等性能问题
2. 按请求计量,按实际使用资源后付费的计费方式虽然实现了真正的按需付费(没有请求则不付费),但是较高的单价,使得在负载较为平稳的场景下,成本没有优势
3. 开发工具不完善。应用本地开发调试,大量函数的管理/部署、与持续集成/发布系统的集成,丰富的监控指标等方面的用户体验亟待提升
函数计算产品负责人杨皓然表示,函数计算2.0通过一系列创新的功能,解决了当前 Serverless 计算服务的痛点,极具竞争力。全球首家推出预付费(包年包月)的计费模式。相较于后付费,预付费单价降低 70%以上。应用所需资源中稳定部分使用预付费模式,单价低;弹性部分使用后付费,资源利用率高。结合预付费和后付费,用户能够显著降低成本。
更重要的是,函数计算 2.0 新增预留实例类型,允许用户自行管理实例的申请和释放。通过预留实例,用户能够提前预热函数或者长期保持常驻实例,杜绝因为实例启动带来的请求延迟。当负载超过预留实例处理能力,系统会自动扩容,使用按量实例处理请求。同时函数计算提供了详细的实例使用指标,帮助用户轻松预留合理数目的实例。
用户在函数计算平台上构建弹性高可用的云原生应用,如果没有好用的开发、调试、运维工具,使用体验将大打折扣。函数计算 2.0 大幅增强了 Serverless 应用构建、运维等方面的用户体验。用户可以在自己的开发机本地环境中创建和云端运行环境一致的沙盒,进行依赖包安装、断点调试等操作。函数计算 2.0 也提供了 VSCode,Intellij Idea,PyCharm 等流行开发工具的插件,通过图形用户界面的交互方式,进一步降低了工具的使用门槛。
Serverless 的终极形态是什么?
今年初,曾经以独特视角定义云计算的伯克利又以新的视角发布了一篇文献:将云中的编程变得简单:伯克利视角下的 Serverless 计算。其认为:
Serverless 所提供的接口,简化了云计算的编程,其代表了程序员生产力的又一次变革,一如编程语言从汇编时代演变为高级语言时代。
不难看出,伯克利对此非常看好,而也有观点认为 Serverless 只是新型的 SOA 架构。对此,阿里巴巴资深技术专家李响曾在采访中表示,Serverless 的本质在于一方面提高开发效率,免去对机器管理、环境配置等运维域的繁琐工作,另一方面提高资源效率,通过按需使用、按量计费降低一次性投入成本和使用成本。Serverless 需要定义基础设施和开发人员之间的界限,其本身的定义也是动态变换的。
在虚拟机时代,运营商将物理机器服务化对外提供虚拟机的 API,包括现在提及的“容器即服务(CaaS)”的思想,开发者需要关心的是一个容器的 API,这本身也是一种无服务器的思想,但是随着资源对利用率要求更高,又提出新的函数即服务(FaaS)的理念,这种是看上去是更彻底的无服务器架构,开发者聚焦在业务函数代码本身,对运行环境完全无感知,前端开发工程师能很轻松构建起完整的系统。随着技术的逐渐成熟,界限的水位线将逐渐升高,最终的结果是开发人员的负担越来越低,但这个最佳平衡点在哪目前还没办法下定论。
至于 FaaS 是否就是未来 Serverless 的最佳实践模型,现在有挺多实践落地的例子,但是还无法轻易下结论,FaaS 对开发范式有一定的要求,需要对现有业务进行改造,节约计算成本和研发的投入需要找个平衡点,短期内 Serverless 在面向开发者的层面可能还是会持续“百花齐放”的现状。
评论