Η μετάβαση στα MacBooks και η φυσική υποδομή
Η υποστήριξη εφαρμογών iOS απαιτεί αποκλειστικά το οικοσύστημα της Apple. Καθώς οι δυσκολίες στην εφοδιαστική αλυσίδα καθιστούσαν αδύνατη την άμεση προμήθεια εκατοντάδων Mac Minis, η ομάδα της Namespace στράφηκε σε μια τολμηρή εναλλακτική: τη μαζική ανάπτυξη MacBook Pros σε custom racks datacenter.
Η διαχείριση φορητών υπολογιστών σε περιβάλλον server απαιτεί αυστηρό σχεδιασμό. Κθε MacBook συνδέεται με IP KVM για απομακρυσμένη πρόσβαση, εξωτερική κάρτα δικτύου (NIC) 10G Ethernet, καθώς και ειδικά σχεδιασμένες βάσεις για τη βέλτιστη απαγωγή θερμότητας (thermal management). Παράλληλα, αντιμετωπίστηκαν απρόσμενα προβλήματα, όπως η συμπεριφορά του FileVault disk encryption μετά από επανεκκίνηση και η αστάθεια συγκεκριμένων καλωδίων HDMI.
Εικονικοποίηση και δικτύωση χαμηλής καθυστέρησης
Στο επίπεδο του λογισμικού, κάθε instance βασίζεται στο εγγενές Apple Virtualization framework. Επειδή οι εικονικές μηχανές εκτελούν untrusted κώδικα, η διαχείριση της δικτύωσης γίνεται σε επίπεδο userspace, αξιοποιώντας τον TCP/IP stack του έργου gVisor της Google.
Αυτή η αρχιτεκτονική επιτρέπει τον έλεγχο και την επιβολή πολιτικών ασφαλείας (egress policies), παρόλο που η επικοινωνία μεταξύ της VMM διεργασίας και του host απαιτεί IPC (Inter-Process Communication) roundtrips. Παρά τους περιορισμούς αυτούς, τα συστήματα επιτυγχάνουν ταχύτητες uplink έως και 4 Gbps.
Διανομή και αποθήκευση terabyte-scale VM images
Η συντήρηση πολλαπλών εκδόσεων macOS, runtimes iOS και Xcode εκτινάσσει το μέγεθος των εικόνων δίσκου σε επίπεδα petabyte για ολόκληρη τη συστοιχία (fleet). Για την επίλυση αυτού του προβλήματος, η Namespace εφάρμοσε:
- Sparse format: Αποθήκευση μόνο των ενεργών δεδομένων, αγνοώντας τον κενό χώρο (imaginary zeroes).
- Shallow copies: Χρήση του συστήματος αρχείων APFS και των
clonefilesystem calls για κοινή χρήση κοινών block μεταξύ διαφορετικών εκδόσεων image. - P2P Distribution: Διανομή των δεδομένων μεταξύ των κόμβων με λογική εμπνευσμένη από το BitTorrent, αποτρέποντας τον κορεσμό του κεντρικού container registry.