Contexte et objectifs
Namespace propose des environnements macOS à la demande pour les développeurs iOS. Les clients doivent disposer d’un Mac pour compiler avec Xcode et exécuter le simulateur iOS. Face aux ruptures de la chaîne d’approvisionnement des Mac Mini en 2026, l’entreprise a choisi d’utiliser des MacBook Pro en datacenter, malgré les contraintes d’un châssis portable.
Architecture du rack MacBook
Chaque MacBook est relié à un KVM IP, indispensable pour contrôler un ordinateur portable à distance. Un NIC Ethernet 10 Gb/s externe est ajouté, ce qui porte le nombre de câbles à quatre par machine : alimentation, KVM, NIC et HDMI. Un rack de douze machines nécessite donc quarante‑huit câbles, plus douze pour le réseau et les connexions KVM, ce qui impose une gestion stricte du câblage.
Le système de refroidissement repose sur des supports personnalisés qui canalisent la chaleur des points chauds vers l’extérieur, évitant ainsi que l’air chaud ne recircule entre les machines. Des simulations de flux d’air ont été réalisées pour optimiser la forme des supports.
Gestion des contraintes matérielles
Les tests ont révélé que le câble HDMI était le maillon le plus fragile : il se déconnecte fréquemment sous les vibrations du rack. Namespace a sélectionné un modèle de câble à flexibilité contrôlée et a épuisé le stock disponible sur les plateformes grand public.
Le chiffrement FileVault pose un problème lors des redémarrages non planifiés. Le prompt de déverrouillage apparaît sur l’écran du portable fermé et disparaît après cinq minutes. La fonction d’unlock via SSH introduite avec macOS Tahoe subit la même expiration, rendant la récupération manuelle nécessaire. Un contournement consiste à redémarrer le Mac avec fdesetup authrestart, qui maintient le disque déverrouillé pendant le reboot.
Un bug récurrent affecte les NIC USB externes : ils cessent de fournir l’alimentation et ne montrent aucun lien. La résolution consiste à supprimer puis recréer le service réseau dans les préférences macOS, ce qui réinitialise le pilote.
Virtualisation et logiciels
Les instances macOS sont exécutées dans des machines virtuelles basées sur le framework de virtualisation d’Apple. Ce framework fournit des primitives similaires à Firecracker, permettant de créer rapidement des VM avec les périphériques standards. Le framework Hypervisor, plus bas‑niveau, expose une API comparable à KVM mais ne supporte pas l’exécution de macOS sans l’environnement propriétaire d’Apple, limitant ainsi son usage.
Namespace intègre plusieurs moteurs de VM dans une plateforme unifiée, offrant des volumes cache, de la télémétrie et des connexions VPC, comme pour les instances Linux et Windows. Cette approche garantit une cohérence opérationnelle entre les différents systèmes d’exploitation tout en conservant les performances spécifiques du matériel Apple.