本文整理自 ServerlessDay · China 大会 - 《Serverless 应用实践及典型案例解析》的分享,讲师为腾讯云 Serverless 高级架构师卢萌凯、猎豹移动前端总监董文枭、江娱互动技术经理董文强、新东方高级工程师李垦。
本文主要分为四部分:
- Serverless 的优势和价值
- 基于 Serverless 构建 REST API
- Serverless 和服务端渲染的结合
- Serverless 构建音视频转码方案
Serverless 的优势和价值
为什么我们投入这么大时间和精力来做 Serverless 呢?因为我们坚信云计算的未来趋势之一就是 Serverless。因为 Serverless 让云服务的应用变得更加简单、高效。比如用云主机部署应用的时候,不仅要搭建和维护环境,同时也要评估业务的资源用量,尤其是对于运营类的活动,如果一旦评估的不准确,要么会造成资源的巨大浪费,要么服务可能会被打爆,甚至停服下线。
而 Serverles 能够做到按需使用,让业务完美的弹性伸缩,对于运维同学来讲,简直不能更爽。而且和预付费的实例不同,Serverless 是 pay as you go的模式,只有当业务运行时才会占用资源,只有源被占用了才会计费,简单来讲,就是,我实际用多少就付多少钱。这种计费模式对于存在明显波峰波谷的服务,优势相当明显。
另外,云计算的发展,一定是让用户更加专注于业务。而对于运维来讲,那些繁琐的且对业务发展没有核心价值的资源维护工作,就可以 offload 给云厂商,这样就能更加专注业务层面的运维。这就是 Serverless 所带来的价值,他不仅把用户对云的使用成本降到了最低,也最大程度上的加速了应用的上线过程。
我们也可以回顾下云计算出现及发展的这些年里,和自建 IDC 相比,用户就是越来越聚焦业务,资源的使用效率也越来越高,而 Serverless 在当下把这些优势做到了极致。
我们再来简单看下云函数是怎么构成 Serverless 架构,以及Serverless应用具体是怎么运行的。
开发者在实际使用时,可以借助 WEB IDE 或者本地 IDE 完成代码开发,然后通过在线或者插件、工具的方式把代码以及所用到的相关依赖,一起打包部署到云函数平台,在代码里,我们可以像传统开发方式一样去调用后端的 BaaS,比如访问数据库、对象存储、消息队列、第三方服务接口等。计算逻辑和后端服务共同构成了所谓的 Serverless 应用架构。
而终端用户根据平台提供的请求方式,去触发部署在云函数平台上的业务代码,比如发送 http 请求