Namespace Labs 是一家提供雲端開發與執行環境的公司,客戶包含 Warp、ClassPass、Zed 等上千家公司。文章說明他們怎麼在資料中心大規模部署 Mac,原因是許多客戶要編譯、測試 iOS 應用程式,而編譯 iOS 程式與跑模擬器都只能在 Mac 上進行。
Namespace 選用一般消費版 MacBook 而非 Mac mini,因為 Mac mini 供應鏈吃緊,「一月下單,七月才到貨」,MacBook 供貨較穩定。硬體上每台接遠端管理用的 IP KVM、外接 10G 乙太網卡與備援電源,虛擬化用蘋果自家框架,每台最多跑兩個 macOS 虛擬機。
網路層他們借用 Google gVisor 專案的使用者空間 TCP/IP 堆疊,做虛擬機的防火牆與流量控管,讓每個虛擬機有 4 Gbps 頻寬;映像檔管理則用 APFS 稀疏檔案與 clonefile 技術省空間,再用 P2P 方式同步到數百個節點,把筆電變伺服器的工程細節攤開來講。
這則比較偏雲端基礎設施與 DevOps 的產業面,跟剛開始學程式的孩子關係不大。不過如果家裡小朋友對雲端這個詞好奇,可以告訴他們:你在網路上用的服務,背後其實是機房裡一堆真正的電腦在跑,這篇講的正是工程師怎麼管理、串接這些機器。
雲端運算開發工具基礎設施