Namespace 是一个用于运行 macOS 实例的平台,它采用了一种非常规的硬件策略:在数据中心机架中部署 MacBook Pro。这一决策源于客户的特定需求,他们需要 macOS 环境来构建和测试 iOS 应用程序。由于 Apple 要求使用最新的 Xcode 版本,且 iOS 模拟器只能在 Mac 硬件上运行,因此该公司必须提供一种可扩展的方法来运行这些环境。虽然 Mac Mini 通常更适合数据中心,但 Namespace 面临严重的供应链延迟——等待特定 CPU 型号需要数月时间——这促使他们转向 MacBook Pro 设备,以确保客户能够获得最新的可用硬件。

这张图片展示了部署笔记本电脑到服务器机架以克服供应链约束的非常规硬件策略。
在服务器环境中管理笔记本电脑面临独特的工程挑战,Namespace 通过定制硬件和软件变通方案来解决这些问题。机架中的每台 MacBook 都连接到 IP KVM 以进行远程管理,因为笔记本固件在维护时通常需要 GUI 交互。为了适应物理环境,团队使用定制的支架,旨在将热点处的热量带走,并使用专门的电缆以确保可靠性。在软件方面,Namespace 利用 Apple 的 Virtualization 框架来运行 macOS 实例。然而,该框架强制规定每台物理 Mac 只能运行两个客户虚拟机,无论主机的核心数或内存如何。这一限制迫使 Namespace 将资源切分为特定的配置,例如 Mac Mini 上的 6 或 12 核,或 MacBook Pro 上的 8/16 核。
为了确保不受信任代码的安全性和性能,Namespace 实现了基于 Google gVisor 项目的用户空间 TCP/IP 协议栈。这允许他们在每个数据包到达主机操作系统之前,通过软件处理来强制执行细粒度的网络策略。虽然这种架构在虚拟机进程和主机之间引入了 IPC(进程间通信)往返,但它仍能实现可观的 4 Gbps 上行带宽。此外,为了管理巨大的 macOS 虚拟机镜像——由于大型 iOS 运行时包,镜像大小可能超过 2 TB——Namespace 开发了一种自定义存储格式。这种格式保留了镜像的“稀疏性”,并采用分层方法来共享公共基础块,使他们能够高效地在整个机群中分发和更新镜像,而不会在冗余数据上浪费存储空间。