什么是函数计算

函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。

视频介绍

什么是函数计算

函数计算是Serverless架构的一种形态,面向函数编程,基于事件驱动提供阿里云云服务之间端到端的解决方案。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

什么是Serverless

相对于Serverful,Serverless可以让业务人员无需关注服务器,仅聚焦于业务逻辑代码,并支持按实际使用付费。

产品架构

函数计算主要包含服务、函数、实例、运行环境、触发器、层、应用中心等功能组件,具体产品组件架构图如下图所示。

下图中涉及的功能组件的基本概念,请参见基本概念

image

如何使用

使用准备

为了能够流畅地使用函数计算完成您的应用部署和调试,您需要储备以下编码经验和专业知识。

  • 了解Serverless架构的基本概念以及Serverless的FaaS、PaaS和BaaS三种形态。

  • 了解一种高级编程语言,例如Python、Node.js、Java、Go、.NET Core等,并掌握其运行环境和依赖管理等概念。

  • 了解云概念、公有网络、私有网络等网络概念。

如果您是第一次使用函数计算,建议您观看视频专区,了解Serverless和函数计算的基础信息。视频专区,请参见视频专区

工作流程

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

流程说明如下。

  1. 开通服务。注册账号并开通函数计算服务。具体操作,请参见步骤一:开通函数计算服务

  2. 开发者使用编程语言编写应用和服务。函数计算支持的开发语言,请参见代码开发概述

  3. 开发者上传应用到函数计算

    上传途径包括以下三种方式。

  4. 触发函数执行。触发方式包括事件触发和调用API触发。函数计算支持根据用户请求量自动扩缩容,该过程对您和您的用户均透明无感知。

  5. 根据函数的实际执行时长结算费用。函数执行结束后,可以通过账单来查看函数执行产生的费用,收费粒度精确到1毫秒。更多信息,请参见计费概述

使用方式

您可以使用以下方式创建和管理您的应用函数。

  • 通过函数计算控制台。控制台为您提供访问功能的Web界面。更多信息,请参见快速创建函数

  • 通过Serverless Devs工具。下载对应的函数计算应用模板,然后快速开发部署函数应用。更多信息,请参见通过Serverless Devs工具管理函数资源

  • 调用函数计算SDK。SDK提供特定语言的API并管理许多连接细节,例如签名计算、请求重试处理和错误处理等。更多信息,请参见使用SDK执行HTTP函数

多语言支持

下表列出了用于编写函数计算函数代码的语言,以及该语言支持的部署方式。

编程语言

支持的部署方式

Node.js

控制台、Serverless Devs、SDK

Python

控制台、Serverless Devs、SDK

PHP

控制台、Serverless Devs、SDK

Java

Serverless Devs、SDK

C#

Serverless Devs、SDK

Go

Serverless Devs、SDK

Custom Runtime

Serverless Devs、SDK

Custom Container

Serverless Devs、SDK

关于Custom Runtime支持的语言列表,请参见事件函数示例HTTP函数示例

产品计费

关于函数计算的计费详情,请参见计费概述

相关链接

链接

说明

应用场景

介绍函数计算的主要使用场景,包括Web应用、数据ETL处理、AI推理、视频转码等。

函数类型选型

函数运行时选型

函数存储选型

介绍函数计算支持的函数类型(事件函数和HTTP函数)、函数运行时(内置运行时、自定义运行时、自定义容器运行时)和函数存储(文件存储NAS、对象存储OSS、临时存储和层),供您进行技术选型参考。

基本概念

介绍函数计算的专有名词的定义,方便您更好地理解相关概念并使用函数计算

常见问题索引

汇总使用函数计算服务时的常见问题和对应解决方法。

联系我们

如果您有任何反馈或疑问,欢迎加入函数计算钉钉用户群。