一、什么是函数计算?
官方是这么写的:"函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。
借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。"
看一遍没明白咋回事,下面有个图,看了就明白了。
流程说明如下:
- 开发者使用编程语言编写应用和服务。函数计算支持的开发语言,请参见代码开发概述。
- 开发者上传应用到函数计算。上传途径包括:
- (推荐)通过函数计算控制台上传。
- (推荐)通过Serverless Devs上传。
- 通过API或SDK上传。更多信息,请参见SDK列表。
- 触发函数执行。触发方式包括事件触发和函数计算调用API触发。
- 动态扩缩容以响应请求。函数计算可以根据用户请求量自动扩缩容,该过程对您和您的用户均透明无感知。
- 根据函数的实际执行时间按量计费。函数执行结束后,可以通过账单来查看函数执行产生的费用,收费粒度精确到1毫秒。更多信息,请参见实例类型及使用模式。
二、使用流程
使用函数计算前,您需要在产品详情页开通服务。
函数计算使用流程图如下所示。
流程说明如下:
- 创建服务。
- 创建函数,编写代码,将应用部署到函数中。
- 触发函数。
- 查看执行日志。
- 查看服务监控。
创建服务
服务(Service)是函数计算的基本资源单位。您可以在服务级别上授权、配置日志和创建函数等。更多信息,请参见管理服务。
创建函数
函数(Function)是调度与运行的基本单位,更是一段代码的处理逻辑。您需要根据函数计算提供的函数接口形式编写代码,并将代码以函数的形式部署到函数计算。函数计算中的服务对应于软件应用架构领域中的微服务。在函数计算平台构建应用时,首先根据需求将业务逻辑抽象为微服务,然后再实现为函数计算中的服务。
一个服务下可以创建多个函数,每个函数可以设置不同的内存规格、环境变量等属性,并可以结合您的实际业务场景来决定是否开启Initializer功能。更多信息,请参见Initializer函数。
服务是函数层次化的抽象,在系统抽象和实现灵活度上能够取得平衡。例如,实现一个微服务,需要调用阿里云语音合成服务,将文字转成语音,再把这段语音和一系列图片组合为视频。其中文字转语音函数是调用其他服务,可以设置很小的内存规格。而视频合成函数是计算密集型,需要更大的内存。因此您可以组合多个不同规格的函数实现微服务,优化成本。关于函数的创建、更新和删除等,请参见管理函数。
触发函数
函数计算支持直接触发函数或通过事件触发函数。您可以根据需要选择合适的触发方式:
- 使用函数计算控制台、Serverless Devs或SDK等方式直接触发函数的执行。更多信息,请参见以下文档:
- 配置函数计算触发器,通过事件触发函数的执行。例如配置OSS触发器后,当OSS对应的Bucket中有对象新增或删除后都会触发函数的执行,方便您处理上传的对象;配置日志服务触发器后,当日志服务对应的Logstore中有新日志写入后可以触发函数的执行,方便您处理写入的日志。您需要设置触发器来设置事件触发的方式。更多信息,请参见以下文档:
查看执行日志
查看日志是帮助您调试的一个重要环节。关于使用函数计算配置日志并查看日志的操作步骤,请参见配置日志。
查看服务监控
您可以在函数计算控制台上查看服务监控。更多信息,请参见以下文档: