共计 2576 个字符,预计需要花费 7 分钟才能阅读完成。
一、Ubicloud 是什么
Ubicloud 是面向开发者的开源 IaaS:把虚拟机、块存储、虚拟网络(含防火墙 / 负载均衡)、托管 PostgreSQL、GitHub Actions Runner 等“常用 20% 的云功能”打包为可自托管的软件栈,可在 Hetzner、Leaseweb、Latitude.sh、AWS Bare Metal 等 裸金属 上快速拉起,也可直接使用其 托管版(声称可较主流公有云降本 3–10 倍)。(Ubicloud)

二、核心能力一览
- 弹性计算(VM):控制面通过 SSH 下发指令,数据面采用 Cloud Hypervisor 作为 VMM,结合 Linux namespaces 做进程级隔离。支持公私网与双栈 IPv4/IPv6。(GitHub)
- 虚拟网络 :节点间通过 IPsec 建立加密隧道; 防火墙与负载均衡 基于 Linux nftables 实现,支持健康探测,不健康 VM 会被摘除后再自动恢复路由。(GitHub)
- 块存储(本地、未复刻):以 SPDK 提供虚拟化块设备,强调未来可演进快照与复制;对数据加密密钥再加密(DEK 包装)。(GitHub)
- 托管 PostgreSQL:覆盖备份、健康监控与高可用等日常运维工作;面向分析负载可利用本地 NVMe 提升吞吐(PG17 可用)。(Ubicloud)
- 命令行与控制台:图形化控制台 +
ubiCLI 双路线;CLI 支持下载、初始化与常见资源操作。(Ubicloud)
上述能力既可用 自托管 的方式在你的裸金属上运行,也可开箱即用 Ubicloud 的 托管服务。(Ubicloud)
三、架构与技术选型(为何说“基于 Ruby”)
Ubicloud 采用“控制面 / 数据面”经典云架构:
- 控制面(Control Plane):Ruby 编写,持久化存储用 PostgreSQL;Web 侧用 Roda 框架、Sequel 访问数据库、Rodauth 处理认证;与数据面通过 SSH 通信。前端样式基于 Tailwind。(GitHub)
- 数据面(Data Plane):在租用的裸金属服务器上运行 VMM、网络与存储服务(Cloud Hypervisor / IPsec / nftables / SPDK)。(GitHub)
- 权限模型(IAM):采用 ABAC(属性基访问控制) 设计,便于多租户 / 细粒度授权。(GitHub)
- 许可证:主仓库以 AGPL-3.0 开源。(GitHub)
这套选择的意义在于:控制面保持简单可审计(Ruby + PG),数据面尽量借力成熟组件(Linux/Cloud Hypervisor/SPDK),同时把多租户、安全与可运维性作为默认值而非“可选项”。
四、如何“自建一朵云”(Quick Start 思路)
目标:在一家裸金属服务商(如 Hetzner)上,用 Ubicloud 把几台物理机“云化”,然后像公有云一样开 VM、挂盘、配网络。
- 拉起控制面
- clone 仓库并使用示例
docker-compose启动控制面与内置数据库:docker-compose -f demo/docker-compose.yml up,访问localhost:3000。(GitHub)
- 准备数据面机器
- 在供应商处租几台裸金属主机(建议 NVMe + 至少 2×10GbE);按文档配置
HETZNER_USER/PASSWORD/SSH_KEYS等环境变量,执行 cloudify 脚本把物理机纳管。(GitHub)
- 开通资源
- 在控制台或
ubiCLI 中创建网络、子网、负载均衡、卷与 VM;如需外网,仅开白名单端口并配健康检查;数据库可直接选 托管 PostgreSQL 规格。(Ubicloud)
文档还提示:若链路不支持 IPv6,可用隧道服务或自带 IPv4 资源进行补位。(GitHub)
五、典型落地场景与优势
- 降本增效 / 避免锁定 :在欧洲等地区直接跑在 Hetzner 等裸金属之上, 按需自建 IaaS,对计算密集 /CI 流水线等“可短时弹性”场景尤其划算;Ubicloud 官方宣称相较头部公有云可 3–10× 降本(视地区 / 机型而定)。(Ubicloud)
- 合规与数据主权 :金融、医疗或游戏等对本地化有强要求的业务,可把控制面放在自有机房 / 专属区域, 资源完全可见可控。(Ubicloud)
- 数据库优先:如果你只想先把 PG 托管好(备份 /HA/ 监控),可先用 Ubicloud 托管 PG,再逐步把计算与网络迁到同一控制面。(Ubicloud)
- 开发者友好:Web 控制台 +
ubiCLI;默认支持防火墙 / 负载均衡 / 块存储等“刚需”资源,学习曲线比大型云栈平缓。(Ubicloud)
六、与 OpenStack 的差异
Ubicloud 并非“组件拼装商店”,而是 更“主观”的最小可用云 :定位开发者、内置多租户安全(静 / 传输加密、密钥轮换、虚拟网络隔离等),并提供 托管版 以分钟级启动;官方也直言其目标是“用 10% 的服务覆盖 80% 的消耗”,追求 简单可运维 而非“全家桶”。(GitHub)
七、当前状态与路线图
- 已公开的组件与文档:弹性计算、虚拟网络(nftables 防火墙 / 负载均衡、健康探测)、本地块存储(SPDK,尚未做复制层)、托管 PostgreSQL、CLI 与控制台。(GitHub)
- Roadmap(示例):进一步的托管 K8s/ 监控能力、更多企业特性。请以仓库 README 与官网更新为准。(GitHub)
八、落地建议(给工程团队)
- 先托管、后自建:用托管版做功能与 SLO 评估,再决定是否迁至自托管(降低一次性投入)。(Ubicloud)
- 从数据库或 CI 入口切入:PG17 + 本地 NVMe 的性价比高;或先把 GitHub Actions Runner 等“短时算力”放上去验证 ROI。(Ubicloud)
- 网络与安全基线:按零信任做安全域分层;健康探测 + LB 的灰度与故障转移策略务必先演练。(Ubicloud)
- 性能 / 可用性预期管理:块存储当前为“未复制”的本地卷,涉及数据冗余 / 快照 / 跨主机迁移的需求,应在上层引入副本 / 定时备份策略或等待官方后续能力。(GitHub)
九、快速链接
正文完

