自托管 vs 云托管

开源自托管(永久免费)与云托管(按量付费)的能力对比、部署方式与计费维度,以及怎么选。

两种运行方式

dozycat 有两种运行形态,能力同源、概念一致,区别只在「谁来运维元数据引擎、对象存储和节点」。

  • 开源自托管——永久免费(Apache-2.0)。你在自己的基础设施上跑完整的控制面(dozycat)、每节点一个 cat-agent,以及 JuiceFS + 元数据引擎 + 对象存储。完全掌控,不依赖任何外部服务。
  • 云托管——全托管、按量付费。控制面、元数据引擎 HA、节点机队、网关都由我们运维;你只管创建 volume、启动 cat。带免费额度,适合不想碰底层运维的团队。
  • Enterprise——专属部署、SSO、SLA、专属支持。联系销售。

对比一览

维度开源自托管云托管Enterprise
价格免费(基础设施成本自付)按量付费 + 免费额度合同定价
控制面 / 网关你部署运维我们运维专属/隔离
元数据引擎 HA你负责(见下)我们负责我们负责 + SLA
对象存储你的 S3/GCS 桶含或自带桶(BYOB)可选自带
节点 / 容量你的裸金属/虚机弹性、按需专属容量
升级你拉新版自动受控窗口
支持社区 / GitHub工单专属 + SLA
数据驻留完全自控选区域可定制

开源自托管:你要跑什么

dozycat 不重造文件系统——它以 JuiceFS 为底座,只在其上加四件事(热目录识别、生命周期 drain、预热编排、控制面/网络)。自托管时你需要准备:

  • 控制面 dozycat:API + UI + CLI 同源。make serve 即可起一个单机控制面用于评估。
  • 每节点一个 cat-agent:驱动 cloud-hypervisor / virtiofsd / dozycat 挂载 / drain。
  • 元数据引擎:dozycat 默认推荐 PostgreSQL(开 HA + 自动备份/PITR)——它是「不丢写」的持久化锚点,运维负担最低;git 的元数据热点由 JuiceFS 客户端缓存吸收,ms 级延迟可接受。极致延迟可换 Redis(必须 appendfsync always + Sentinel/Cluster),超大规模再上 TiKV。SQLite 在多挂载场景直接否决。
  • 对象存储:你自己的 S3 / GCS 桶作为 blob 后端。

Kubernetes(声明式 operator)

成熟形态是「声明 cat 应该是什么,由控制器收敛它」:k8s API server + etcd + 一个 kopf reconcile 控制器自愈。

kubectl apply -f deploy/k8s/crds.yaml
kubectl apply -f deploy/k8s/dozycat.yaml      # operator + cat-agent DaemonSet + RBAC
kubectl apply -f deploy/k8s/example-cat.yaml
kubectl get cats -n dozycat -w                # DESIRED/OBSERVED/NODE
# 冻结一个 cat:
kubectl patch cat cat-alice -n dozycat --type=merge -p '{"spec":{"desiredState":"cold"}}'

生产环境可把 cat-agent DaemonSet 换成 VirtinkKubeVirt(让它们的 virt-controller/virt-handler 管 VMM);operator.py_actuate 接缝就是替换点。约 99k 个 idle cat 是 CR/数据库行,不是运行中的 pod。

AWS / GKE 脚本

仓库自带真机部署脚本(deploy/aws/、GKE perf E2E),把控制面、JuiceFS、cloud-hypervisor 生命周期、恢复路径一步步拉起来——可直接用,也可作为你自有编排的参考。

坦白说:自托管意味着你来扛元数据引擎的 HA、对象存储、节点机队和组网。这是真实的运维成本——如果你不想长期运维有状态系统,云托管会省心得多。

云托管:计费维度

云托管按实际用量计费,三个维度,外加免费额度起步:

维度计费说明
活跃 cat-小时按 cat 处于 hot/running 的时长冷/深冷的 cat 不计算力费——这正是 10 万轮换便宜的原因
存储 GB-月按对象存储实际占用每 volume 独立计量
出网流量 GB按 egressFS 流量走 host 本地 socket,不计入

因为数据面与 VM 解耦——暂停/快照/迁移 cat 都不停 host 侧上传——你为「活跃算力」付费,而非「占着的磁盘」。绝大多数轮换型机队的成本由活跃 cat-小时主导。

怎么选

  • 要数据完全自控、已有 k8s/裸金属与 SRE 团队 → 开源自托管
  • 要快速上手、不想运维有状态系统 → 云托管(先用免费额度)。
  • 要 SSO / SLA / 专属隔离 / 合规 → Enterprise

下一步:快速开始 · 架构 · 规模与轮换