LC3视点:从阿里云函数计算看Serverless的演进与思考

本文涉及的产品
简介:

云计算之所以能够成为DT时代颠覆性力量,是因为其本质是打破传统架构模式,降低成本并简化体系结构,用全新的思维更好的满足了用户需求。而无服务器计算(Serverless Computing)作为这个巨大市场的下一个阶段的进化产物,将真正帮助企业实现只专注于业务和构建应用程序而不必担心IT基础设施,这也将成为云服务商未来竞争的关键。

 

什么是无服务器计算

云原生计算基金会(Cloud Native Computing Foundation, CNCF)对无服务器计算作了如下定义:

Serverless computing refers to the concept of building and running applications that do not require server management. It describes a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment.

无服务器计算是指开发者在构建和运行应用时无需管理服务器等基础设施。应用被解耦为细粒度的函数,函数是部署和运行的基本单位。用户只为实际使用的资源付费。可见,serverless 计算能够帮助应用开发者摆脱服务器等底层基础设施管理的负担,专注于业务层的创新。

图片1 - 无服务器计算的特点

 

无服务器计算的发展历史

实际上,Serverless 不是一个新概念,计算、存储等领域的很多服务都是 serverless 的模式。例如阿里云推出的第一个云服务,对象存储(OSS),就是 serverless 形态的存储服务。用户不需要关心数据是如何存储在底层服务器上,只为实际使用的存储资源付费。统计数据表明,近年来,各个云服务商推出的新服务/新功能,超过70% 都是 serverless 形态。随着云端 serverless 类型的服务种类越来越丰富,用户能够快速使用多种服务构建弹性高可用的云原生应用。因此,serverless 计算正变得越来越流行。

图片2 – 无服务器计算已经无处不在

 

从函数计算架构看无服务器计算的特性

在 serverless 计算中,平台服务接管了底层基础设施的管理,因此平台服务必须处理好容错和资源伸缩等问题,才能充分发挥 serverless 计算的能力。

从阿里云函数计算架构图不难看出,API服务层完成身份验证,元数据的读写等功能。同步调用函数时,API服务模块从资源调度模块获取可用的函数执行引擎并发送请求,最后取回结果。异步调用函数时,则将事件写入到消息队列后即返回。由事件分发模块分发事件,整个流程和同步调用类似。

图片3 阿里云函数计算架构

 

实时弹性伸缩是函数计算的核心优势,当用户负载出现波峰时,系统能实时扩张资源,平滑应对峰值访问。以异步事件处理为例,整个处理流程分为三步:

  1. 事件写入函数计算的事件队列。
  2. 事件分发器从队列中读取事件,并调用对应的函数处理事件。
  3. 用户函数处理事件。

图片4 函数计算实时伸缩

 

函数计算系统会监控用户的负载变化,各组件均能够根据用户负载动态伸缩。如上图所示,当用户A的事件产生速率变大时,系统会自动在每个环节给A分配更多的资源,以匹配事件处理的能力。

 

函数计算采用多级资源调度策略,系统会根据用户负载和资源池水位预判需求,提前准备好计算资源。依托于阿里云飞天分布式系统平台多年的技术积累,在调度的实时性和准确性上取得了很好的平衡,具备毫秒级弹性伸缩的能力。

 

无服务器计算的典型应用场景

借助函数计算,用户几乎可以构建任何类型的应用程序或后端服务,包括 Web 应用后端服务,大规模文件处理,数据实时流式处理等等。

例如借助对象存储和函数计算的集成,用户只需要编写函数处理单个视频。当有大量视频文件被上传到对象存储服务后,会自动触发多个函数实例并发处理。

图片5 Serverless 视频转码服务

 

使用函数计算的 HTTP 触发器,用户只需要编写函数处理单个请求。当 TPS 升高时,函数计算会自动扩容计算资源执行多个函数实例处理请求。

图片6 Serverless 网站后端服务

 

无服务器计算对用户的价值

自阿里云函数计算上线以来,被开发者广泛的用于大规模多媒体数据并行处理,日志/物联网数据的流式处理,网站后端服务等场景中。从实际使用情况来看,serverless 计算在工程效率、可靠性、性能、成本和安全性等方面给用户带来了巨大的价值。

1)工程效率:借助函数计算和其他云端服务的集成,用户只需要编写少量代码就可以串联多个服务完成复杂的功能。用户不需要负担服务器配置/升级,资源扩容/缩容等繁琐工作,运维成本大幅降低。

2)可靠性:用户不需要购买或维护任何的服务器,不需要安装任何的软件,借助函数计算,系统自动处理基础设施层各种错误,减少宕机、网络中断等危机情况发生,提升系统可靠性。

3)弹性伸缩:应用程序所需计算资源的伸缩能在毫秒级别由 serverless 计算平台自动完成,用户不需要负责增减服务器的数量。

4)低成本:不需要对计算和存储之类的服务预留容量。如果代码没有运行,就不会收费。研究数据表明,70%以上的服务器资源并未得到充分利用,函数计算采用全新模式,资源使用率达100%,实践结果显示,通常能节省10%-90%的成本。

也就是说,借助函数计算意味着开发者可以专注在产品代码上,而无须管理和操作云端或本地的服务器或运行时。生产实践中,用户用几百行代码就可以实现一个规模上亿,日调用次数几十亿次的图片处理服务。

 

结语

云计算1.0时代,基础设施的云化(IaaS)为用户提供了和传统IT环境近乎一致的体验,让用户能把应用无缝迁移到云端。当人人都能获取所需的计算资源后,如何更高效的管理和使用计算资源,函数即服务(FaaS)则是云计算2.0时代最为重要的问题。阿里云函数计算这样的无服务器计算服务,能够从工程效率、可靠性、性能、成本和安全性等方面给用户带来巨大的价值,为广大开发者打开了一扇通往美丽新世界的大门。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
监控 关系型数据库 Serverless
Serverless 应用引擎常见问题之函数计算3.0的项目提示未知错误如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
31 5
|
2月前
|
人工智能 数据管理 Serverless
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
404 2
|
2月前
|
人工智能 运维 Cloud Native
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
149 2
|
2月前
|
人工智能 NoSQL Serverless
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
本文主要分享了自己基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
469 6
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
|
1月前
|
人工智能 关系型数据库 Serverless
Serverless 应用引擎常见问题之API生成的函数镜像改为自定义的镜像如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
39 3
|
2月前
|
人工智能 数据管理 大数据
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
33 2
|
7天前
|
监控 Serverless API
阿里云函数计算的工作原理与事件驱动模型密切相关
【4月更文挑战第17天】阿里云函数计算的工作原理与事件驱动模型密切相关
59 4
|
7天前
|
消息中间件 运维 Serverless
阿里云函数计算是一种FaaS(Function as a Service)云服务
【4月更文挑战第17天】阿里云函数计算是一种FaaS(Function as a Service)云服务
46 3
|
7天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95391 2
|
7天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
43 0

热门文章

最新文章

相关产品

  • 函数计算