Vercel News

Backends on Vercel: Python, containers, and Daemons

8.5内容质量

TL;DR · AI 摘要

Vercel现支持Python后端、容器和Daemons,提升开发效率和部署灵活性。

核心要点

  • Vercel Python后端已全面可用,支持FastAPI/Flask/Django框架
  • 容器支持实现任意语言部署,Active CPU计费模式降低闲置成本
  • Delphi团队使用Vercel Daemons实现日均100+次生产部署

结构提纲

按章节快速跳转。

  1. Vercel宣布扩展后端工作负载支持,包括Python、容器和Daemons。

  2. Vercel Python后端支持150,000团队,集成FastAPI/Flask/Django框架。

  3. 容器运行时支持任意语言部署,Active CPU计费模式优化成本。

  4. 公共测试版Daemons实现后台任务持续运行,提升处理效率。

  5. Delphi团队迁移至Vercel后实现日均100+次部署,使用Queues处理后台任务。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Vercel后端扩展
    • Python支持
      • 框架兼容性
      • 150,000团队案例
    • 容器化部署
      • 任意语言支持
      • Active CPU计费
    • Daemons服务
      • 持续后台任务
      • Delphi案例

金句 / Highlights

值得收藏与分享的关键句。

#Vercel#Python#容器化#后端开发#云原生
打开原文

Vercel 上的后端:Python、容器和守护进程 - Vercel

去年,我们扩展了对 Python 和 TypeScript 后端框架的零配置支持。到今年夏天,开发者可以使用 Vercel Services 将前端和后端一起部署,并通过队列和持久化工作流协调后台任务。

今天在旧金山的 Vercel Ship 活动上,我们正在扩展 Vercel 上可以运行的后端工作负载。Vercel 上的 Python 现已正式发布,Vercel Functions 中的容器支持使自定义运行时和系统库成为可能,我们还推出了 Vercel 守护进程的公开测试版,用于处理需要持续运行的后台任务。

将链接复制到标题:Python 现已正式发布

您可以使用熟悉的前端开发体验(包括本地开发、预览和生产部署)在 Vercel 上构建 Python 后端。FastAPI、Flask 和 Django 等框架可以在标准 CPython 环境中运行,同时支持您的 PyPI 依赖项。Vercel 会自动处理框架检测、构建和扩展。

目前,已有 15 万个团队在 Vercel 上运行 Python 后端,其中包括 OpenAI、Polymarket 和 Exa 的工程师。

Python SDK 让您可以在应用程序中使用 Vercel 产品,无论您是将文件存储在 Vercel Blob 中、将后台任务发送到 Vercel 队列、使用 Vercel 工作流协调持久化步骤、在 Vercel 沙箱中运行不受信任的代码,还是使用 Python AI SDK 流式传输模型响应并处理工具调用。

Delphi(一家通过书籍和对话构建 AI 数字思维的公司)已将其 Python 后端从 AWS ECS 迁移到 Vercel。该团队只有 10 名工程师,没有专门的基础设施角色,每天向生产环境发布超过 100 次,并使用队列处理后台任务。

“使用 Vercel 后,我们几乎不再考虑基础设施。” —— Delphi 联合创始人兼工程师 Spencer Schoeben

访问 Python 知识库获取框架详细信息和示例。

将链接复制到标题:使用容器支持任何语言的应用程序

Vercel 容器运行时允许您部署用任何语言编写的应用程序,这些应用程序打包了所需的 OS 库和可执行文件。自容器支持进入公开测试版以来,已有 5,000 个团队在 Vercel 上部署了 150,000 个容器。

容器以 Vercel Functions 的形式部署在 Fluid 计算上,根据流量进行扩展,并使用按实际 CPU 使用计费的模式(不收取等待 API 响应、数据库查询或 LLM 推理时的空闲时间费用)。Vercel Services 让您可以在前端和后端之间开发和部署,同时 Vercel CDN 为您的域名提供流量服务,Vercel WAF 保护流量,日志帮助您调查问题,回滚功能可恢复早期部署。

例如,考虑一个使用容器进行后台处理的视频应用,为每个上传的视频片段准备播放副本和缩略图。这个 Dockerfile 打包了 Python 处理器、其依赖项和 ffmpeg 与守护进程一起运行:

Dockerfile

code
1
FROM
python:3.12-slim
2
RUN
apt-get update
\
3
&& apt-get install -y --no-install-recommends ffmpeg
\
4
&& rm -rf /var/lib/apt/lists/*
5
WORKDIR
/app
6
COPY
requirements.txt .
7
RUN
pip install --no-cache-dir -r requirements.txt
8
COPY
processor.py .
9
CMD
[
"python"
,
"processor.py"
]

将 Python 视频处理器和 ffmpeg 打包到一个镜像中

通过 Git 或 Vercel CLI 部署时,Vercel 会构建镜像并将其存储在你的 Vercel 容器镜像仓库中。阅读我们的容器化函数部署指南即可开始使用。

链接复制到标题 背景工作进程与 Vercel Daemons

Vercel Daemons 允许你在 Fluid 计算平台上以持续运行的后台工作进程形式部署容器。你可以选择每个区域的实例数量,当进程退出或崩溃时,Vercel 会自动重启以维持该容量。

Daemons 支持基于拉取的工作负载模式,你的代码会从其他系统请求任务并在任务可用时进行处理。这可能包括消费队列消息或从数据库获取待处理任务。

Vercel 上带有 Python API 和容器化后台处理的视频应用

在我们的示例中,Daemons 会持续运行视频处理器,从 Vercel Queues 拉取任务。在 vercel.toml 中定义 Next.js 前端,将请求路由到前端,并通过 Dockerfile 添加处理器:

vercel.toml

code
1
#:schema https://openapi.vercel.sh/vercel.json
2
3
[
services.frontend
]
4
framework
=
"nextjs"
5
root
=
"."
6
7
[
[
routes
]
]
8
src
=
"/(.*)"
9
destination.service
=
"frontend"
10
11
[
daemons.videos
]
12
root
=
"."
13
entrypoint
=
"Dockerfile"
14
instances.iad1
=
1

在 iad1(华盛顿特区)保持一个视频处理器实例运行

按照 Daemons 部署指南,将后台工作进程添加到你的 Vercel 项目中。

链接复制到标题 在 Vercel 上运行你的后端

我们正在持续加强后端支持,使更多现有应用能够运行在 Vercel 上,使用其所需的语言、依赖项和执行模式。

链接复制到标题 资源

  • 在知识库中阅读我们的后端指南
  • 阅读完整的 Vercel Daemons 指南
  • 一键部署带有 Python 的 eve agent