全部产品
阿里云办公

什么是函数计算

更新时间:2018-09-29 14:04:16

函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

集成服务

函数计算以事件驱动的方式连接其他服务。借助这些方式,您可以构建弹性的、可靠的以及安全的应用和服务,甚至在数天内就能完成一套多媒体数据处理后端服务。当事件源触发事件时,我们会自动调用关联的函数处理事件。例如,对象存储(OSS)会自动触发函数处理新对象创建 / 删除事件(ObjectCreated/ObjectRemoved)。或者API网关在收到HTTP请求时自动触发函数处理请求。此外,函数还可以由日志服务或者表格存储等其他阿里云服务触发。

函数计算支持的事件源类型请参考文章触发器列表

工作流程

函数计算工作流程如下图所示:

数据流向

编号说明

①. 开发者使用编程语言编写应用和服务。函数计算支持的开发语言请参考开发语言列表

②. 开发者上传应用到函数计算。上传途径包括函数计算控制台API/SDK以及命令行工具fcli

③. 触发函数执行。触发方式包括OSS、API网关、日志服务、表格存储以及函数计算API/SDK等。

④. 动态扩容以响应请求。函数计算可以根据用户请求量自动扩容,该过程对您和您的用户均透明无感知。

⑤. 根据函数的实际执行时间按量计费。函数执行结束后,可以通过账单来查看执行费用,收费粒度精确到100 ms。更多详情,请参阅计费方式

无服务器架构

假设您计划采购服务器开发一款短视频社交应用,那么您需要考虑很多的问题,例如:

  • 如何构建和运维一套弹性的稳定的视频处理后端服务?
  • 需要采购多少台服务器?
  • 服务器采用什么规格?
  • 如何配置网络和操作系统?
  • 如何部署环境?
  • 如何负载均衡?
  • 如何动态伸缩?
  • 如何升级配置?
  • 如何应对服务器宕机?
  • 如何应对用户请求峰值?
  • 如何应对系统监控报警?
    ……

可喜的是,基础设施的云化,使您能快速调动和使用海量计算资源,无需担心如何短时间内获取合适规格的服务器。但当前云计算的抽象粒度大多在机器级别,要管理和使用这些计算资源仍然有不小的门槛和成本。阿里云函数计算为解决计算成本和效率问题而生,将计算服务的抽象粒度提高到了函数级别,打造无服务器概念的应用设计模式。

使用函数计算,你无需管理底层的基础设施,只需要将您的代码部署到函数计算,然后以事件驱动的方式触发函数执行,服务就可以平稳运行。您无需再为环境部署、服务器扩容、服务器宕机等问题烦恼,函数计算提供弹性的扩容机制,并按量计费。此外,函数计算提供日志查询、性能监控和报警等功能,帮助您快速定位问题、排查故障。

学习路径

您可以通过 函数计算学习路径图 快速了解产品,由浅入深学习使用和运维函数计算。

产品优势

因此,函数计算主要具备以下优势:

  • 您无需采购和管理服务器等基础设施,运维成本低。

  • 您只需专注业务逻辑的开发,使用函数计算支持的开发语言设计、优化、测试、审核以及上传自己的应用代码。

  • 以事件驱动的方式触发应用响应用户请求。与阿里云对象存储OSSAPI网关日志服务表格存储等服务无缝对接,帮助您快速构建应用。例如,通过OSS解决图片和视频的存储问题,当有新数据写入您的OSS资源时,自动触发函数处理数据。

  • 提供日志查询、性能监控和报警等功能快速排查故障。

  • 毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力。

  • 按需付费,支持百毫秒级别收费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景。更多详情,请参阅计费方式