一、初识Serverless
1.1 serverless发展
随着云服务广度应用,serverless热度也在持续攀升
在中国,serverless热度居高不下,可以看出国人对其的追捧
1.2 Serverless概念
serverless = server + less,即少服务器,无服务器架构,功能即服务
用户只需要关注执行代码函数,上传至云服务即可,不用关注服务器硬件资源、托管服务、CI运维,按执行时长及资源消耗付费。
Amazon Lambda图示
腾讯云函数图示
Serverless 云产品主要有 Amazon Lambda、Google Cloud Function、Azure Function、AliCloud Function Compute。
二、云服务演进
- Bare Metal:用户购买物理裸机,配置环境,自建机房,自行运维
- IAAS(Infrastructure-as-a-Service):用户购买VM云主机,硬件和网络都交给云服务商管理
- Paas(Platform-as-a-Service) 和 CaaS(Container-as-a-Service):用户使用平台基础软件服务Database、短信消息等开发应用,在使用容器镜像构建和部署,最后托管给平台管理
- Serverless:FaaS(Function-as-a-Service)函数即服务,用户将执行函数部署在云平台,在配置好网关路由,即可访问;BaaS(Backend-as-a-Service)后端即服务,消息队列、对象存储、日志服务等
三、Serverless执行流程
serverless由两部分组成:FAAS与BAAS
serverless执行流程:
案例演示:API接口转发 (基于腾讯云服务,API网关和云函数)
腾讯云函数范例:
简单云配置网关后,即可访问:
四、Serverless优缺点
优点:
- 无需管理服务器,低运维成本:云计算资源、All on Cloud
- 按需付费:百毫秒级计算计量
- 资源弹性伸缩:方便扩容、提前应对峰值流量
- 安全可靠:云厂商保障SLA、代码加密托管、抵御网络攻击
- 事件触发执行:云资源时间触发、HTTP请求触发
缺点:
- 云厂商绑定,迁移成本高
- 冷启动时间开销:容器和环境启动,需要另外时间开销
- 调试与测试成本高:本地与测试环境差异性
五、应用场景
- Web后端服务
- 大数据分析处理
- 集成多产品
- IoT物联网后端服务
- 实时数据分析
参考资料:
《无服务器计算和应用场景》阿里云
《入门 Serverless:如何实现 Hello World?》企鹅
《腾讯云-云函数》企鹅
《写给前端工程师的serverless入门》政采云