macOSインスタンスを実行するためのプラットフォームであるNamespaceは、MacBook Proをデータセンターのラックに配備するという型破りなハードウェア戦略を採用しました。この決定は、iOSアプリケーションのビルドとテストのためにmacOS環境を必要とする顧客の特定の要件に起因しています。Appleは最新バージョンのXcodeの使用を要求し、iOSシミュレータはMacハードウェア上でしか動作しないため、同社はこれらの環境を実行するためのスケーラブルな方法を提供しなければなりません。一般的にはMac Miniの方がデータセンターに適していますが、Namespaceは特定のCPUモデルの入荷を数ヶ月待つといった重大なサプライチェーンの遅延に直面しました。その結果、顧客に利用可能な最新ハードウェアを確実に提供するため、MacBook Proユニットへの転換を決断しました。

この画像は、サプライチェーンの制約を克服するためにノートパソコンをサーバーラックに配備するという型破りなハードウェア戦略を例示しています。
サーバー環境でノートパソコンを管理するには独自のエンジニアリング上の課題がありますが、Namespaceはカスタムハードウェアとソフトウェアの回避策を通じてこれに対処しています。ラック内のすべてのMacBookは、メンテナンスにGUI操作を必要とすることが多いノートPCのファームウェアに対応するため、リモート管理用のIP KVMに接続されています。物理的な環境を管理するために、チームはホットスポットから熱を逃がすように設計された特注のホルダーと、信頼性を確保するための特殊なケーブルを使用しています。ソフトウェア面では、NamespaceはAppleのVirtualizationフレームワークを利用してmacOSインスタンスを実行します。しかし、このフレームワークはホストのコア数やメモリに関わらず、物理的なMac1台につきゲストVMは最大2つまでという厳格な制限を課します。この制約により、Namespaceはリソースを、Mac Miniでは6または12コア、MacBook Proユニットでは8または16コアといった特定の構成に分割することを余儀なくされています。
信頼性のないコードに対してセキュリティとパフォーマンスを確保するため、NamespaceはGoogleのgVisorプロジェクトに基づいたユーザ空間TCP/IPスタックを実装しています。これにより、すべてのパケットがホストOSに到達する前にソフトウェアで処理されるため、きめ細かなネットワークポリシーを強制することが可能になります。このアーキテクチャは、VMプロセスとホストの間にIPC(プロセス間通信)のラウンドトリップを導入しますが、4 Gbpsという立派なアップストリーム帯域幅を実現しています。さらに、大規模なiOSランタイムパッケージのために2 TBを超えることもあるmacOS VMイメージの巨大なサイズを管理するため、Namespaceはカスタムストレージフォーマットを開発しました。このフォーマットはイメージの「スパース性」を維持し、共通のベースブロックを共有するレイヤーアプローチを使用することで、冗長なデータにストレージを浪費することなく、フリート全体で効率的にイメージを配布および更新できるようにしています。