← На главную

Namespace построила облачную инфраструктуру на стойках MacBook

03.11.2026 14:53 · hackernews

Namespace рассказала, как устроена её инфраструктура для аренды Mac и запуска виртуальных машин macOS. Такие мощности нужны клиентам для сборки и тестирования iOS-приложений: iOS Simulator работает только на Mac, а публикация в App Store требует свежей версии Xcode. Из-за задержек поставок и неодновременного обновления разных моделей Apple компания начала устанавливать в дата-центрах не только Mac mini, но и MacBook Pro.

Каждый ноутбук подключён к IP KVM для удалённого управления, внешнему адаптеру 10G Ethernet и питанию. Стойки требуют плотной кабельной разводки и специальных держателей, отводящих тепло от горячих зон. Неожиданными проблемами стали не разъёмы MagSafe, а жёсткие кабели HDMI, ограничения разблокировки FileVault после незапланированной перезагрузки и ошибки внешних USB-сетевых адаптеров. Для части сбоев приходится вовремя вмешиваться через KVM или заново создавать сетевую службу в настройках macOS. Mac mini и Mac Studio удобнее: у них есть встроенная сеть 10 Гбит/с, автоматическое включение после восстановления питания и настройка через MDM.

Виртуализация построена на Apple Virtualization framework. На одном физическом Mac разрешено запускать не более двух гостевых macOS, поэтому ресурсы каждой машины делятся максимум на два экземпляра. Часть ядер резервируется под управление. Для изоляции недоверенного кода Namespace обрабатывает сетевые пакеты в пользовательском пространстве с помощью TCP/IP-стека gVisor, что позволяет применять правила межсетевого экрана. Такой путь требует межпроцессного взаимодействия и ограничивает скорость: сейчас компания сообщает примерно о 4 Гбит/с исходящего трафика на экземпляр.

Отдельная сложность — образы виртуальных машин. Несколько версий macOS, Xcode и runtime для iOS могут увеличить набор до двух терабайт. Сборка автоматизирована сценариями, а образы хранятся во внутреннем OCI-реестре. Разреженный формат исключает хранение пустых областей, а слои с изменёнными блоками позволяют повторно использовать общую основу.

Для распространения образов на сотни узлов применяется peer-to-peer-доставка, вдохновлённая BitTorrent: блоки загружаются не только из центрального реестра, но и с соседних машин. На локальных SSD используются разреженные файлы и клонирование APFS. Namespace заявляет, что процесс стал повторяемым, хотя закупка оборудования остаётся внешним ограничением.

Читать оригинал →