deployment

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Deployment Router

部署路由指南

Quick guide to choose the right deployment platform and skill for your workload.
这份快速指南将帮助你为工作负载选择合适的部署平台及对应技能。

Platform Decision Matrix

平台决策矩阵

WorkloadPlatformSkill
Next.js / React frontendVercel
vercel-deployment
Static sites, SPAsVercel or Cloudflare Pages
vercel-deployment
FastAPI / Python backendFly.io
fly-deployment
Stateful backend (SQLite, volumes)Fly.io
fly-deployment
Docker containersFly.io
fly-deployment
Object storage / CDNCloudflare R2
cloudflare-r2-d1
Edge database (SQLite)Cloudflare D1
cloudflare-r2-d1
Session/config cachingCloudflare KV
cloudflare-r2-d1
Serverless functionsCloudflare Workers
cloudflare-r2-d1

工作负载平台技能
Next.js / React 前端Vercel
vercel-deployment
静态站点、单页应用VercelCloudflare Pages
vercel-deployment
FastAPI / Python 后端Fly.io
fly-deployment
有状态后端(SQLite、存储卷)Fly.io
fly-deployment
Docker 容器Fly.io
fly-deployment
对象存储 / CDNCloudflare R2
cloudflare-r2-d1
边缘数据库(SQLite)Cloudflare D1
cloudflare-r2-d1
会话/配置缓存Cloudflare KV
cloudflare-r2-d1
无服务器函数Cloudflare Workers
cloudflare-r2-d1

Quick Reference by Stack

按技术栈快速参考

Full-Stack Next.js + Python API

全栈 Next.js + Python API

Frontend (Next.js)     → Vercel       → vercel-deployment
Backend (FastAPI)      → Fly.io       → fly-deployment
File uploads           → Cloudflare R2 or Fly volume
Frontend (Next.js)     → Vercel       → vercel-deployment
Backend (FastAPI)      → Fly.io       → fly-deployment
File uploads           → Cloudflare R2 or Fly volume

Edge-First Stack (Cloudflare)

边缘优先技术栈(Cloudflare)

Frontend (static/SPA)  → Cloudflare Pages
API (Workers)          → Cloudflare Workers  → cloudflare-r2-d1
Database               → Cloudflare D1       → cloudflare-r2-d1
Files                  → Cloudflare R2       → cloudflare-r2-d1
Frontend (static/SPA)  → Cloudflare Pages
API (Workers)          → Cloudflare Workers  → cloudflare-r2-d1
Database               → Cloudflare D1       → cloudflare-r2-d1
Files                  → Cloudflare R2       → cloudflare-r2-d1

Monorepo Pattern

单仓多应用模式

apps/web (Next.js)     → Vercel       → vercel-deployment
apps/api (FastAPI)     → Fly.io       → fly-deployment

apps/web (Next.js)     → Vercel       → vercel-deployment
apps/api (FastAPI)     → Fly.io       → fly-deployment

Platform Strengths

平台优势

Vercel

Vercel

  • Zero-config Next.js deployment
  • Preview deployments per PR
  • Edge functions & middleware
  • Automatic HTTPS & CDN
Best for: Next.js, React, static sites
  • 零配置Next.js部署
  • 每个PR对应预览部署
  • 边缘函数与中间件
  • 自动HTTPS与CDN
最适合: Next.js、React、静态站点

Fly.io

Fly.io

  • Run any Docker container
  • Persistent volumes (SQLite, file storage)
  • Multiple regions with data locality
  • WebSocket support
Best for: Python backends, stateful apps, containers
  • 运行任意Docker容器
  • 持久化存储卷(SQLite、文件存储)
  • 多区域部署,支持数据本地化
  • WebSocket 支持
最适合: Python后端、有状态应用、容器化应用

Cloudflare

Cloudflare

  • Edge-first (runs in 300+ cities)
  • No cold starts (Workers)
  • Integrated storage (R2, D1, KV)
  • Zero egress fees on R2
Best for: Low-latency APIs, edge computing, global scale

  • 边缘优先部署(在300+城市运行)
  • 无冷启动(Workers)
  • 集成存储服务(R2、D1、KV)
  • R2 无出口流量费用
最适合: 低延迟API、边缘计算、全球规模化应用

Common Deployment Patterns

常见部署模式

Pattern 1: Vercel + Fly.io

模式1:Vercel + Fly.io

User → Vercel (frontend) → Fly.io (API) → SQLite (volume)
Deploy commands:
bash
undefined
User → Vercel (frontend) → Fly.io (API) → SQLite (volume)
部署命令:
bash
undefined

Frontend

Frontend

vercel --prod
vercel --prod

Backend

Backend

fly deploy
undefined
fly deploy
undefined

Pattern 2: Full Cloudflare

模式2:全Cloudflare部署

User → Pages (frontend) → Workers (API) → D1 (database) + R2 (files)
Deploy command:
bash
wrangler deploy
User → Pages (frontend) → Workers (API) → D1 (database) + R2 (files)
部署命令:
bash
wrangler deploy

Pattern 3: Hybrid (Vercel + Cloudflare Storage)

模式3:混合部署(Vercel + Cloudflare存储)

User → Vercel (Next.js) → Cloudflare R2 (uploads) + external DB

User → Vercel (Next.js) → Cloudflare R2 (uploads) + external DB

Troubleshooting Quick Links

常见问题排查快速链接

IssueCheck Skill
Vercel deployment issues
vercel-deployment
Docker build fails
fly-deployment
Volume mount error
fly-deployment
D1 query timeout
cloudflare-r2-d1
R2 upload fails
cloudflare-r2-d1

问题查看对应技能
Vercel 部署问题
vercel-deployment
Docker 构建失败
fly-deployment
存储卷挂载错误
fly-deployment
D1 查询超时
cloudflare-r2-d1
R2 上传失败
cloudflare-r2-d1

Cost Comparison (Free Tiers)

免费层成本对比

PlatformFree Tier Highlights
Vercel100GB bandwidth, serverless functions, preview deploys
Fly.io3 VMs (256MB), 3GB storage, 160GB bandwidth
Cloudflare100K Worker requests/day, 10GB R2, 5GB D1

平台免费层亮点
Vercel100GB 带宽、无服务器函数、预览部署
Fly.io3台虚拟机(256MB内存)、3GB存储、160GB带宽
Cloudflare每日10万次Worker请求、10GB R2存储、5GB D1存储

When to Use Each Skill

各技能适用场景

Use
vercel-deployment
when:
  • Deploying Next.js or React apps
  • Configuring vercel.json
  • Setting environment variables
  • Troubleshooting build errors
Use
fly-deployment
when:
  • Writing Dockerfiles for Fly.io
  • Configuring fly.toml
  • Setting up volumes or persistent storage
  • Deploying Python/FastAPI backends
Use
cloudflare-r2-d1
when:
  • Storing files in R2
  • Working with D1 SQLite database
  • Caching with KV
  • Writing Cloudflare Workers
当你需要以下操作时使用
vercel-deployment
  • 部署Next.js或React应用
  • 配置vercel.json
  • 设置环境变量
  • 排查构建错误
当你需要以下操作时使用
fly-deployment
  • 为Fly.io编写Dockerfile
  • 配置fly.toml
  • 设置存储卷或持久化存储
  • 部署Python/FastAPI后端
当你需要以下操作时使用
cloudflare-r2-d1
  • 在R2中存储文件
  • 操作D1 SQLite数据库
  • 使用KV进行缓存
  • 编写Cloudflare Workers