Kedge:具备可分叉 VM 快照和全局 SQLite 的全球分布式云平台

Kedge 为全栈应用提供全球分布式基础设施

Kedge 是一个轻量级的云平台,旨在部署静态站点、无服务器函数以及带有集成数据库的全栈应用,靠近终端用户。平台通过将硬件隔离的虚拟机(VM)与无服务器弹性扩展的敏捷性以及内置的全局数据层相结合,展现出独特优势。

核心基础设施与计算模型

Kedge 使用安全的、硬件隔离的虚拟机,运行完整的 Linux 内核,提供比标准容器运行时更强的隔离性。平台通过以下机制优化了快速部署和扩展:

  • 即时沙箱与扩容: Kedge 使用 VM 快照实现几乎瞬时的扩容和沙箱创建。
  • 自动缩容至零: 实例根据需求在靠近用户的地点启动,空闲时会自动缩容至零,以降低成本。
  • 部署灵活性: 用户可以通过 SSH(echo '# Hello, world!' | ssh kedge.dev)、Git 或 HTTP API 部署,平台原生集成 GitHub,实现推送即部署以及每个 Pull Request 的预览环境。
  • 网络服务: 平台内置 CDN 功能,可在边缘缓存静态内容,提供公共 HTTPS 端点、私有网络以及自定义域名支持。

集成的全局数据层

不同于许多将数据库管理视为独立编排任务的云提供商,Kedge 将数据持久化直接集成到应用环境中:

  • 全局 SQLite 与共享文件系统: 每个应用都可以访问内置的全局 SQLite 数据库和共享文件系统,便于在各地区之间分布式状态的维护。
  • 持久本地卷: 为高性能存储提供本地卷,并持续由对象存储备份,以保证耐久性。

基于资源的计费模型

Kedge 采用基于实际资源消耗的按秒计费模型,而非按分配容量计费。这种方式确保用户仅为应用实际使用的资源付费:

  • CPU: 仅按实际调度的毫秒计费($15 / vCPU‑month)。
  • 内存: 按活跃驻留页计费($5 / GB‑month)。
  • 存储: 仅按实际使用的字节计费($0.05 / GB‑month)。
  • 出站流量: 按 $0.01 / GB 收费。

提供每月 $5 的免费套餐,足以支撑小型网站或开发环境。

技术社区洞察与考虑因素

围绕 Kedge 架构的技术讨论突出了关于快照和数据复制模型的若干高级考虑因素:

虚拟机快照与熵

一个关键的技术问题涉及 VM 快照的“分叉边界”。由于快照在进程调用 listen 时捕获,随后产生的克隆拥有相同的内存映像。这可能导致熵和随机数生成(RNG)方面的安全性和稳定性问题,因为克隆可能共享相同的种子。用户指出需要在恢复后进行重新种子化的钩子,以确保克隆实例拥有唯一的密码学种子。

数据复制与一致性

全局 SQLite 数据库的实现引发了关于写入并发性和底层引擎的疑问。具体而言,用户询问系统是否使用 “syzy”(一种基于 CRDT 的方案),以及它如何处理多个实例同时作为写入者的情况。

与现有平台的比较

社区成员将 Kedge 的集成方式与 Fly.io 进行比较,指出虽然 Fly 提供了构建块,但 Kedge 将复制数据库和文件系统作为一等原语进行集成,从而降低了开发者的运维负担。

Sources