|《从零入门 Serverless | 一文详解 Serverless 技术选型》


|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

作者 | 李国强 阿里云资深产品专家
本文整理自《Serverless 技术公开课》 。 关注“Serverless”公众号 , 回复“入门” , 即可获取 Serverless 系列文章 PPT 。
今天来讲 , 在 Serverless 这个大领域中 , 不只有函数计算这一种产品形态和应用类型 , 而是面向不同的用户群体和使用习惯 , 都有其各自适用的 Serverless 产品 。 例如面向函数的函数计算、面向应用的 Serverless 应用引擎、面向容器的 Serverless Kubernetes , 用户可以根据自己的使用习惯、使用场景或者应用类型 , 去选择使用什么样的 Serverless 产品 。 下面通过本文给大家介绍一下 , 阿里云都有哪些可供大家选择的 Serverless 产品 。
Serverless 产品及分层
众所周知 , 最早提出 Serverless 的是 AWS , 其在 Serverless 领域的旗舰产品是 function compute 。 同样阿里云也有函数计算的产品 , 帮助用户构建 Serverless 函数 。 但 Serverless 不仅仅是函数 , 如下图所示 , 其实用户会期望在应用、容器等层面也能够享受到 Serverless 的好处 , 包括按量付费、极致弹性等 , 这样也更符合用户原有的使用习惯 。
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

在上图中 , 大家能够看到 , 阿里云针对函数、应用和容器都推出了对应的 Serverless 产品 , 用户可以针对自己的使用场景选择不同的产品 。
函数计算
1. 函数计算介绍
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

上图展示了函数计算的使用方式 。 从用户角度 , 他需要做的只是编码 , 然后把代码上传到函数计算中 。 这个时候还不会产生费用 , 只有到被调用的时候才有费用 。 调用的方式可以是产品提供的 API/SDK , 也可以通过一些事件源 , 比如阿里云的 OSS 的事件 。 比如用户往 OSS 里的某一个 bucket 上传了一个文件 , 希望这个文件被自动处理;比如上传一个 zip 包 , 希望能够自动解压到另外一个 bucket , 这都是很典型的函数场景 。
另外 , 函数计算能够提供非常好的弹性能力 , 最终的费用是根据时长和内存数进行计费的 , 如果调用量小的话 , 只会有很少的费用 。 并且它在语言方面也非常丰富 , 常用的 nodejs、php、python、java 都直接支持 。 同时提供自定义的运行环境 , 可以支持任意的可执行的语言 。
2. 函数计算典型场景
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

从使用场景来说 , 主要有三类:

  • Web 应用:可以是各种语言写的 , 这种可以使用 Serverless 框架新编写的程序 , 也可以是已有的应用 。 比如小程序后端、或者发布到 API 市场的 API 后端应用等;
  • 对计算能力有很强的弹性诉求的应用:比如 AI 推理、音视频处理、文档转换等;
  • 事件驱动型的应用:比如通过其他阿里云产品驱动的场景、Web Hook、定时任务等 , 函数计算已经与很多产品进行了打通 , 比如对象存储、表格存储、定时器、CDN、日志服务、云监控等 , 可以非常快速地组装出一些业务逻辑 。
3. 函数计算核心竞争力
|《从零入门 Serverless | 一文详解 Serverless 技术选型》
本文插图

函数计算对客户的一个最大的价值 , 就是能够让用户只关注自己的业务逻辑开发 , 完全不需要管理运维 , 诸如计算资源、网络设置等都不需要关心 。 在隔离性上提供 vm 级别的隔离 , 保证用户在运行时的数据安全、运行时安全等;在可用性方面默认提供 3az 的高可用架构 , 保证客户默认就是高可用的最佳实践架构;在弹性方面 , 可以做到毫秒级的弹性效率 , 满足客户突发的流量冲击;在计费方面也非常灵活 , 真正按照用户的请求情况进行收费 , 也支持对 long run 的应用更友好的预付费模式 。


推荐阅读