
# 云函数简介

云函数为应用提供计算能力，是 laf 最核心的应用资源之一。

::: tip
Laf 云函数并不是传统意义上的函数计算服务，Laf 应用是常驻的进程实例。
:::

::: info 本节目录
[[toc]]
:::

## 能力

- 处理 HTTP 请求
- 操作数据库
- 操作云存储
- 调用三方服务
- 定时任务
- 处理 WebSocket


## 特点

### 毫秒级发布

Laf 云函数可实现像写博客一样写代码，在线编写、一键发布、毫秒级生效，无需在改动代码后漫长的等待构建与发布过程。

### 无冷启动

Laf 应用是常驻内存的实例，天然没有冷启动时延问题，云函数的调用时延通常小于 10ms。

### 性能优异

同一个 Laf 应用的所有云函数由一个 Node.js Runtime 常驻进程来提供服务，可以充分利用 Node.js 异步 IO 模型提供强大的网络并发处理能力。

### 成本低廉

由于 Laf 应用是常驻实例，单实例可以处理数千数万的并发请求，调用成本极低。
传统的函数计算一个请求一个实例，一千个请求就需要上千个实例来处理，其成本极其昂贵，两者调用成本相差数十甚至百倍。

### 长连接

Laf 云函数天然支持标准的 WebSocket 长连接处理， 实测单实例即可处理 `100K WebSocket` 连接。
传统的函数计算一般不支持 WebSocket 长连接，或通过网关间接支持非标准的、成本极其昂贵的长连接方案。

### 弹性伸缩

Laf 应用支持以实例为单位的自动水平伸缩，基于 Kubernetes HPA 实现。可根据业务负载情况自动伸缩实例数量，自动应对峰谷时段负载。

## 下一步
::: tip
- [快速开始](./quick-start.md)
- [HTTP 请求](./request.md)
- [HTTP 响应](./response.md)
- [HTTP 认证](./auth.md)
- [处理文件上传](./files.md)
- [发起网络请求](./fetch.md)
- [函数引用](./import.md)
:::

