声明:没有任何广告涉嫌,汇总记录一些国内外的云平台/项目。
Dokploy
官网,开源(GitHub,35K Star,2.7K Fork)自托管PaaS平台,可部署在自有VPS上,简化应用和数据库的部署管理,支持Docker、Docker Compose、多节点集群,内置Traefik负载均衡,提供实时监控、自动备份、模板市场等企业级功能。官方PaaS,文档。
功能
- 一键安装部署,连Docker都会自动配置:
curl -sSL https://dokploy.com/install.sh | sh - 全语言全栈支持,Node.js、PHP、Python、Go、Ruby等任何类型的应用都能部署
- 数据库管理,支持MySQL、PG、MongoDB、MariaDB、Redis,还能自动备份到外部存储
- Docker Compose原生支持,导入配置文件就能运行
- 多节点集群部署,使用Docker Swarm管理集群,可以把应用扩展到多台服务器,流量大了随时加机器
- 一键模板市场,内置Plausible、Pocketbase、Cal.com等几十个开源模板
- Traefik自动集成,自动配置路由和负载均衡,SSL证书都能自动申请,域名解析好就能用HTTPS
- 实时监控面板,每个应用和数据库的CPU、内存、存储、网络流量都能实时查看
- CLI和API完整支持,可通过命令行或API管理所有资源,轻松集成到CI/CD流程里
- 多服务器管理,可在Dokploy面板里管理多台远程服务器,所有项目统一控制
- 通知系统,部署成功或失败都能推送通知,支持Slack、Discord、Telegram、邮件等多种方式
- 自动备份功能,数据库可定时自动备份到S3、阿里云OSS等外部存储,数据安全有保障
Sealos
官网,一款以Kubernetes为内核的开源(GitHub,17K Star,2.4K Fork)云操作系统发行版,集本地开发、线上测试、打包上线为一体,无需云计算专业知识,就能在几秒钟内部署、管理和扩展您的应用,SaaS平台。
DevBox
Sealos推出的产品,提供DevBox插件,可集成到VS Code,JetBrains里。
优势:
- Unified Cloud Dev Environment:统一的云开发环境,轻松创建并共享的云开发环境,减少繁琐的安装和配置过程,统一开发、测试和生产环境,更快地进入开发状态。
- Out-of-box Consisteney:开箱一致性,所有开发者使用相同的环境配置,消除因本地环境差异而导致的问题,确保代码在所有开发机器上都能一致运行。
- Production Environment Simulation:生产环境模拟,DevBox提供与生产环境高度相似的测试环境配置,包括服务器、数据库、负载均衡,确保在测试的问题最早被发现。
- Secure lsolated Environment:安全隔离环境,每个项目独立运行在不同环境中,支持动态资源调整,满足不同阶段(如测试、性能压力测试、生产发布)的需求,且互不干扰。
- Real-time Preview:实时预览,自动分配公网 URL,无需正式部署即可查看应用预览效果,实时代码更改可实时同步更新到公网地址。
- Team Collaboration:团队协作,所有项目集中管理,团队成员可以便捷地查看、切换和维护多个项目,提供权限分配,确保不同项目和团队。
网络配置

端口配置、公网访问设置、域名设置。
架构

解读:
- Controller:控制器,基于Kubernetes自定义资源定义(CRD)实现的,主要负责管理DevBox资源的生命周期。在
controllers/devbox录下,主要包括:- DevboxReconciler:核心控制器,负责协调DevBox资源状态。主要功能包括:
- Pod管理:根据DevBox规格创建、更新或删除Pod;
- 服务管理:为DevBox创建Service,提供网络访问;
- 状态管理:更新DevBox的状态信息;
- 提交历史:管理DevBox的提交历史,支持版本回滚
- CRD:包括Devbox(定义开发环境的规格,包括资源需求、运行时、网络配置等)、Runtime(定义开发环境的运行时,如编程语言、框架等)、DevBoxRelease(用于管理DevBox的版本发布)等
- 控制器通过Kubernetes operator模式实现,监听DevBox资源的变化并进行相应处理,如创建、更新、删除Pod、Service等资源。
- DevboxReconciler:核心控制器,负责协调DevBox资源状态。主要功能包括:
- Frontend:前端,在
frontend/providers/devbox目录下,使用Next.js框架开发,提供用户界面,允许用户创建、管理和监控DevBox实例。 - Service:服务,在
service/devbox目录下,提供一些辅助功能,如镜像标签管理等。
冷关机
冷关机,停止DevBox,是通过修改DevBox自定义资源的state字段来实现的。当用户请求停止DevBox时,系统会将其状态从Running更改为Stopped或Shutdown,然后控制器会根据这个状态变化来删除相关Pod。
整个流程包括:
- 前端用户界面提供关机选项
- 用户选择关机模式,普通关机或冷关机
- 前端调用API修改DevBox状态
- 后端API处理请求,修改DevBox资源的状态字段
- DevBox控制器监听到状态变化,执行相应的操作
- 删除Pod
- 对于冷关机,还会删除Service和修改Ingress
- 控制器更新DevBox的状态信息,反映当前的运行状态
这种基于Kubernetes自定义资源和控制器的实现方式,使得DevBox的状态管理变得简单而可靠,充分利用Kubernetes的声明式API和控制循环机制。

冷关机过程中各组件之间的时序交互图:

核心流程和各个阶段:

各组件之间的数据流和交互关系:

冷关机过程中的状态转换图:

Cloudflare
Cloudflare Pages
官网,中文官网,一个面向前端开发者的静态网站和全栈应用部署平台,支持快速构建、自动部署、高性能交付和全球分发。提供无限站点、席位、请求和带宽,并支持HTTP/3、QUIC协议、图像压缩和SSL安全加密。通过构建缓存功能,可以加速后续构建过程,提高部署效率。
部署流程
- 注册与登录:注册并登录Cloudflare控制台
- 创建项目:在Pages控制台新建项目,选择Git仓库(如GitHub)并授权访问
- 配置构建:设置构建命令和输出目录,如Hexo博客的构建命令为
hexo generate,输出目录通常为public - 部署网站:保存配置后,Cloudflare会自动构建并分配默认pages.dev域名访问,也可绑定自定义域名并自动配置HTTPS
- 更新内容:修改仓库文件后,推送到Git仓库即可触发自动重新部署
Cloudflare Workers
Cloudflare Pages专注于静态网站和SSR应用的快速部署和性能优化。
Cloudflare Workers,一个边缘计算平台、无服务器平台,可在Cloudflare的全球网络上构建无服务器函数和应用,无需配置或维护基础设施,通过世界各地超过335个数据中心部署到全球。
相比传统云服务器,Workers的部署速度更快、冷启动更低、全球延迟更均匀,免费额度非常慷慨。
优势
- 提升开发人员生产力:直接从任何Git存储库部署到Workers,无需额外工具,在数小时而非数天内快速启动应用
- 自动扩展:开发人员无需采取任何行动来增加计算能力,也不必担心应用接收的流量达到限制
- 提高性能和可靠性:逐步自动将代码部署到最佳位置,以提高性能和可靠性
基于V8 isolates技术(Chrome浏览器的JavaScript引擎),而不是传统的容器或虚拟机。
| 对比项 | 传统Serverless(如AWS Lambda) | Cloudflare Workers |
|---|---|---|
| 启动方式 | 启动容器/VM | 启动V8 isolate |
| 冷启动时间 | 100ms-数秒 | <5ms |
| 部署位置 | 区域性(如us-east-1) |
全球300+节点 |
| 资源隔离 | 容器级别 | V8沙箱 |
| 支持语言 | 多种 | JavaScript/TypeScript/WASM |
对比Vercel、Netlify
| 平台 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| Cloudflare Workers | 冷启动最快、全球延迟最低、免费额度大 | 内存限制128MB、不支持完整Node.js | API、边缘处理、轻量服务 |
| Vercel | Next.js深度集成、开发体验好 | 免费额度有限、冷启动较慢 | Next.js项目、前端为主 |
| Netlify | Jamstack生态完善、部署简单 | 性能不如Workers | 静态站点、简单函数 |
选型建议:
- 使用Next.js→选Vercel
- 需要极致性能和全球低延迟→选Cloudflare Workers
- 做静态站点+简单后端→选Netlify或Cloudflare Pages
免费计划
| 资源 | 免费额度 | 说明 |
|---|---|---|
| 请求数 | 每天10w次 | 约每月300万次 |
| CPU时间 | 每次请求10ms | 足够大多数场景 |
| Workers KV(键值存储) | 读取10万/天、写入1000/天、存储1GB | 轻量缓存足够 |
| D1数据库 | 读取500万行/天、写入10万行/天、存储5GB | 小型应用足够 |
| 静态资源 | 无限制 | 图片、CSS、JS等不计费 |
| 子请求 | 不计费 | 从Worker发起的请求免费 |
重点:每天10万次请求=每月约300万次,对于个人博客、小工具、API代理等场景绰绰有余。
适合场景
| 场景 | 说明 | 示例 |
|---|---|---|
| API代理/网关 | 转发请求、添加CORS头、处理跨域 | OpenAI API代理 |
| URL短链接 | 轻量级的短链服务 | 自建bit.ly |
| 边缘计算处理 | 图片裁剪、A/B测试、地理位置路由 | 根据用户位置返回不同内容 |
| API服务 | 轻量级REST API | 个人博客后端 |
| Webhook处理 | 接收并处理第三方通知 | GitHub/Stripe Webhook |
| 静态资源加速 | CDN+简单处理逻辑 | 图片处理、缓存控制 |
| 认证鉴权 | JWT验证、OAuth中转 | 统一认证网关 |
不太适合场景
| 场景 | 原因 | 替代方案 |
|---|---|---|
| 长时间计算(>30s) | CPU时间限制 | 使用Queues+Durable Objects |
| 大内存应用(>128MB) | 内存限制 | 使用传统云服务器 |
| 需要完整Node.js环境 | 不支持所有Node API | Vercel Functions |
| 数据库密集型应用 | KV/D1有读写限制 | 使用外部数据库 |
| WebSocket长连接 | 需要Durable Objects | 付费功能 |
总结:
- 适合Workers:请求处理时间短、无状态或轻状态、需要全球低延迟
- 不适合Workers:重计算、大内存、复杂数据库操作
Wrangler
Cloudflare官方推出的命令行工具,用于开发、测试和部署Workers。
安装:npm install -g wrangler
执行npx wrangler login自动打开浏览器,登录Cloudflare账号并授权。
npm create cloudflare@latest -- demo-worker创建项目,按提示选择:
- 选择"Hello World"示例
- 选择"Worker only"
- 选择JavaScript或TypeScript
- 是否启用
git:Yes - 是否立即部署:No(先本地测试)
项目结构
demo-worker/
├── src/
│ └── index.js # Worker代码
├── wrangler.toml # 配置文件,或wrangler.jsonc
├── package.json
└── node_modules/
Workers KV
Cloudflare提供的键值存储服务。
创建KV命名空间:npx wrangler kv:namespace create "MY_CACHE"
在wrangler.toml中绑定:
toml
[[kv_namespaces]]
binding = "MY_CACHE"
id = "输出ID"
代码中使用:
ts
export default {
async fetch(request, env, ctx) {
await env.MY_CACHE.put('key', 'value');
const value = await env.MY_CACHE.get('key');
await env.MY_CACHE.delete('key');
await env.MY_CACHE.put('session', 'data', { expirationTtl: 3600 });
return new Response(value);
},
};
D1
Cloudflare提供的关系型数据库服务。
创建数据库:npx wrangler d1 create my-database
在wrangler.toml中绑定:
[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "输出ID"
执行迁移:npx wrangler d1 execute my-database --file=./schema.sql
代码中使用:
ts
export default {
async fetch(request, env, ctx) {
const { results } = await env.DB.prepare(
'SELECT * FROM users'
).all();
// 带参数查询,防SQL注入
const user = await env.DB.prepare(
'SELECT * FROM users WHERE id = ?'
).bind(1).first();
await env.DB.prepare(
'INSERT INTO users (name, email) VALUES (?, ?)'
).bind('张三', 'zhangsan@example.com').run();
return Response.json(results);
},
};
Netlify
官网,专为现代Web项目的自动化构建、部署和持续托管而设计。
提供:
- 持续部署:直接与Git仓库连接,自动构建和部署
- 全球CDN:内容分发网络确保全球用户的快速访问
- 自动HTTPS:免费SSL证书,确保网站安全
- 无服务器函数:后端功能而无需管理服务器
- 表单处理:内置的表单提交和处理功能
- 身份验证:用户管理系统
- 大型媒体优化:图像优化和转换
优势:
- 简单:注册到部署第一个项目,通常只需要几分钟
- 免费计划:个人项目和小型团队完全够用
- Git集成:与GitHub、GitLab和Bitbucket的无缝连接
- 预览部署:每个Pull Request都能生成一个独立的预览环境
- 回滚功能:有问题一键回滚到之前版本
- 本地开发工具:提供Netlify CLI,简化本地开发流程
netlify.toml配置文件,可定义构建设置、重定向规则、环境变量等:
toml
[build]
command = "npm run build"
publish = "dist"
[context.production]
environment = { NODE_VERSION = "14" }
[[redirects]]
from = "/api/*"
to = "/.netlify/functions/:splat"
status = 200
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-XSS-Protection = "1; mode=block"
Netlify Functions提供无服务器函数,为网站添加动态功能,而无需管理服务器。基于AWS Lambda,支持JavaScript、TypeScript、Go等多语言。可用于处理支付、访问数据库、与第三方API交互,运行完整的无服务器应用。
集成CI/CD工作流,推送代码后,Netlify能自动构建和部署更新:
- 开发人员提交PR
- Netlify自动生成预览部署
- 团队成员可以查看实际运行的更改
- 合并后,生产环境自动更新
内置表单处理功能,无需后端代码:
ts
<form name="contact" method="POST" data-netlify="true">
<input type="text" name="name" />
<input type="email" name="email" />
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
添加data-netlify="true"属性后,Netlify会自动处理表单提交,可在仪表板中查看所有提交内容,设置邮件通知。
Split Testing提供A/B测试能力:
- 创建一个新分支,实现替代版本
- 在Netlify仪表板中启用Split Testing
- 选择要测试的分支和流量分配
提供环境变量功能,用于存储敏感信息(如API密钥)。
针对大型媒体文件,提供两个解决方案:
- Netlify Large Media:使用Git LFS管理大文件
- 内置图像转换API:动态调整图片大小和格式
性能优化技巧
- 实施适当的缓存策略:利用Cache-Control头
- 启用懒加载:特别是对图片和视频
- 代码分割:减小初始加载包的大小
- 预渲染关键页面:改善首次内容绘制时间
- 利用Netlify Edge功能:在全球CDN边缘执行代码
Render
官网,功能强大的全自动托管平台,支持静态网站、Node.js、Python 等多种项目类型。适合海外用户,支持免费套餐。
使用Render部署应用的详细步骤。
- 准备工作
确保项目在本地可正常运行。静态网站:如HTML、CSS或Vue、React打包后的项目。 动态网站:如Node.js(需package.json)、Python(需requirements.txt)。上传到GitHub和GitLab。 - 注册并登录Render
- 创建新服务
- 静态网站,在控制台点击New按钮,选择Static Site。绑定Git仓库,选择项目分支。配置构建命令:如
npm run build,点击创建静态站点,开始部署。 - 动态网站:以Node.js为例,点击New按钮,选择Web Service,配置构建命令:
npm install && npm run build,确保代码中使用process.env.PORT作为端口变量。点击Create Web Service开始部署。
- 静态网站,在控制台点击New按钮,选择Static Site。绑定Git仓库,选择项目分支。配置构建命令:如
- 自定义域名(可选):在项目设置中添加自定义域名,并根据提示配置DNS的CNAME记录。Render会自动申请免费HTTPS证书。
- 注意事项
- 免费实例每月提供750小时运行时间,超过后服务会暂停至下月重置;
- 若无访问请求,实例会在15分钟后休眠,下次访问时冷启动。
Zeet
官网,一款云原生开发者平台,旨在简化多云环境下的应用部署与基础设施运维。平台提供CI/CD流水线、Kubernetes集群管理、自动扩缩容与变更追踪,全部集中于统一仪表盘。可与GitHub、GitLab、Bitbucket等主流版本控制系统无缝集成,实现快速可靠的部署,支持滚动更新、手动审批与便捷回滚。多云支持让团队可在主流云服务商间无缝部署应用,提升可扩展性、可用性和成本效率。
主要功能
- 集成式CI/CD:内置持续集成与部署,支持自动部署、手动审批、分支资源配置、滚动部署和回滚功能。
- 多云Kubernetes管理:可在任意云上创建或导入Kubernetes集群,自动集成监控、弹性伸缩、日志转发及网络配置。
- 统一开发者仪表盘:集中式平台,便于管理部署、查看日志与指标、配置自动扩缩容,并为工程团队提供自助服务功能。
- 预览分支与临时环境:为功能预览创建临时环境,使相关方可在生产前测试变更。
- 基础设施即代码与蓝图:通过官方及自定义蓝图,快速部署可复用的基础设施模板,加速应用搭建与扩展。
- 无服务器与数据库部署:跨云部署无服务器函数和容器化数据库,配置简单。
试用场景
- 云原生应用部署:开发者与DevOps团队可借助自动化CI/CD和Kubernetes编排,快速跨多云部署和管理云原生应用。
- 多云战略落地:企业可通过Zeet将工作负载分布在不同云服务商,提高延迟表现、可用性与灾备能力。
- 基础设施自动化:利用Zeet的基础设施即代码与蓝图,实现自动化资源配置和扩展,减少手动云管理负担。
- 功能测试与协作:团队可为功能分支创建临时环境,协作预览和验证变更,确保生产发布前质量。
- 无服务器应用部署:可直接从代码仓库部署无服务器函数,无需手动管理云控制台或扩缩容。
Hetzner
官网,1997年成立的德国老牌服务商,优势在于性价比高。
目前有4个数据中心:
| 位置 | 代号 | 特点 |
|---|---|---|
| 纽伦堡(德国) | NBG1 | 老牌节点,欧洲核心 |
| 法尔肯施泰因(德国) | FSN1 | 独服拍卖主力 |
| 赫尔辛基(芬兰) | HEL1 | 北欧节点 |
| 阿什本(美国东部) | ASH | 2021年新增,性价比碾压美国本土厂商 |
核心产品线:
- Cloud(云服务器):按小时计费的 VPS,本文重点
- Dedicated(独立服务器):物理机直租,性能怪兽
- Server Auction(服务器拍卖):二手独服荷兰式拍卖,捡漏神器
- 存储、负载均衡、DNS 等:生态齐全
API和自动化:
- 完善REST API+CLI工具(hcloud)
- Terraform Provider官方支持
- Ansible、Pulumi等IaC工具生态完整
控制面板:
- 干净、快速、不花哨
- 30秒内开机
- 防火墙、快照、负载均衡一站式管理
注意事项:
- 并不适合中国用户。因为没有亚太节点,美东节点到国内延迟200ms+,欧洲节点更高;
- 注册审核严格,门槛略高,需护照、世界信用卡、人脸核验、