什么是函数计算
大家都了解,serverless 并不是没有服务器,而是开发者不再需要关心服务器。下图是一个应用从开发到上线的对比图:
在传统 serverful 架构下,部署一个应用需要购买服务器,部署操作系统,搭建开发环境,编写代码,构建应用,部署应用,配置负载均衡机制,搭建日志分析与监控系统,应用上线后,继续监控应用的运行情况。而在 serverless 架构下,开发者只需要关注应用的开发构建和部署,无需关心服务器相关操作与运维,在函数计算架构下,开发者只需要编写业务代码并监控业务运行情况。这将开发者从繁重的运维工作中解放出来,把精力投入到更有意义的业务开发上。
上图展示了函数计算的使用方式。从用户角度,他需要做的只是编码,然后把代码上传到函数计算中。上传代码就意味着应用部署。当有高并发请求涌入时,开发者也无需手动扩容,函数计算会根据请求量毫秒级自动扩容,弹性可靠地运行任务,并内置日志查询、性能监控、报警等功能帮助开发者发现问题并定位问题。
函数计算核心优势
敏捷开发
- 使用函数计算时,用户只需聚焦于业务逻辑的开发,编写最重要的 “核心代码”;
- 不再需要关心服务器购买、负载均衡、自动伸缩等运维操作;
- 极大地降低了服务搭建的复杂性,有效提升开发和迭代的速度。
弹性扩容
- 函数计算根据请求量自动进行弹性扩容,无需任何手动配置;
- 毫秒级调度计算资源,轻松应对业务洪峰。
稳定好可用
- 函数计算分布式集群化部署,支持多可用区;
- 如果某个可用区因自然灾害或电力故障导致瘫痪,函数计算会迅速切换到同区域其他可用区的基础设施运行函数,确保服务高可用。
有竞争力的成本
- 函数计算提供了丰富的计量模式,帮助您在不同场景获得显著成本优势;
- 后付费模型按实际使用计算资源计费,不占用计算资源则不计费,资源利用率高达 100% ;
- 预付费模型根据业务负载估算提前预购计算力,单价更低,组合使用后付费和预付费方式将有效降低成本。
函数计算使用场景
从使用场景来说,主要有三类:
- web 应用: 可以是各种语言写的,这种可以是使用 serverless 框架新编写的程序,也可以是已有的应用。比如可能是小程序后端,也可能是 web api;
- 对计算能力有很强的弹性诉求的应用: 比如 ai 推理、音视频处理、图文转换等;
- 事件驱动型的应用: 比如通过其他阿里云产品驱动的场景,web hook、定时任务等。
函数计算已经与很多产品进行了打通,比如对象存储、表格存储、定时器、cdn、日志服务、云监控等十几个产品,可以非常快速地组装出一些业务逻辑。