四つのボトルネック形状:デュアルノードが単体増設を上回る条件
シンガポール、東京、ソウル、香港、米東西へ開発者と Runner をまたがせるとき、単体のクラウド Mac はしばしば二つの軸で同時に限界に達します。一方は Xcode と並列コンパイルによる統合メモリとディスク書き込みのピークであり、もう一方はアーティファクトレジストリとヘッドレスバッチが同一データ面上にないために発生するチャッティな IO です。後者はメモリだけでは治りません。第二の Runner を製品と同じ大陸へ移し、キュータグを orchestrator に固定しない限り、README に「できるだけ近く」と書いても意味がありません。Thunderbolt 級のリンクが効くのは、ラック隣接した二台間で巨大なレイヤ tarball を夜間に繰り返し運ぶときです。Runner がオレゴンにあり製品がシンガポールにあるなら、並列ハードウェアは誤った設計を二倍の請求で固定するだけです。
水平スケールを財務へ載せる前に、以下の五つの誤診を順番に否定してください。チャットの感想ではなくキューラベルと時刻で証明できるものです。
CPU と誤認した依存解決:週次の SPM や CocoaPods の分解時間が三十パーセントを超えているのに CPU は穏やか。コアを増やしてもグラフは短くなりません。
同一タグでの衝突:対話的デバッグと夜間アーカイブが同じラベルを共有しトークンが衝突しているのに箱を二台足しただけ。
リージョン横断の DerivedData 複製:DNS とレジストリのエンドポイントを変えずに夜間 rsync だけを増やす。
リース意図がチャットに埋没:日単位 POC が成功したまま二台が恒久化しオーナーがいない。
Thunderbolt を placebo のように購入:隣接設置と tarball の運搬回数を証明する前に SKU を押す。
これらを踏んだうえで同一 artifact_plane に観測可能な並列性を買うなら、専用ベアメタルを載せる理由が明確になります。Apple 側でスパイクを吸収しつつ SLA キューを物理側へ固定するハイブリッド分割とも整合します。
行列:単体増設、同一リージョン第二ノード、その後の Thunderbolt
第一の表は Thunderbolt を標準装備としません。支配的シグナルを二週間のスプリントで観測し、第二の表は昇格ルールを用意してオンコールを人格論から救います。
| 次元 | 単体アップグレード優先 | 同一リージョン第二ノード優先 | その後 Thunderbolt |
|---|---|---|---|
| 主要シグナル | リンカ末尾、swap、並列度上限 | 依存解決比率、レジストリ RTT、タグ衝突 | 隣接間でレイヤ tarball を往復する頻度 |
| 財務の語彙 | SKU を一枚変更 | オーナーフィールドと並列キャップを追加 | ラック配置と減価前提が必要なアドオン |
| リスク | キャッシュ調整後にコアが遊ぶ | タグを誤ると二台でも衝突 | 非隣接なら連係前提が崩れる |
| 観測指標 | 黄線 | 赤線 |
|---|---|---|
| タグ付きキュー P95(平日) | 五連続営業日で十五分超 | 一週間で三日が二十五分超かつページ時間増 |
| アーティファクト取得比率 | 週平均二十八パーセント超 | 三十八パーセント超かつコンパイル利用率が五十五パーセント未満 |
| 緊急キャッシュ削除 | 週二回超の全削除 | 削除後二十四時間以内に二回充填 |
KPI は機械台数ではなく同一データ面上の並列性です。
閾値は orchestrator のタイムゾーンに合わせて校正してください。多地域リース記事のゲートと組み合わせれば POC がサイレント恒久化するのを防げます。
ラベル設計:region・artifact_plane・workload_profile を固定する
KVMNODE で選んだリージョンは入口に過ぎません。地理 region、プライベートレジストリとオブジェクトストレージが載る artifact_plane、対話セッションとヘッドレス保管を分ける workload_profile を同時に凍結しないと、製品が太平洋をまたぐまま Runner を二倍にしても効きません。
mac_pool_sg_primary:
region: ap-southeast-1
artifact_plane: same-metro-private-registry
queues: [ios-night-archive, release-tag-build]
tb_link:
enabled: candidate
rationale: "layer tarball exceeds eighty GB weekly"
mac_pool_sg_secondary:
region: ap-southeast-1
artifact_plane: same-metro-private-registry
queues: [spm-resolve-cache, derived-data-sticky]
pairing: mac_pool_sg_primary
ヒント:連係 SKU が無いときは artifact_plane を揃えた同一リージョン二ノードとオブジェクト近接プレフィックスへ退避します。
SSH は人間だけのための経路ではなく、自動化のアイデンティティも同じ上限とセッション衛生を共有します。ブロシュアのスループットではなく測った tarball の運搬量と結び付けて議論してください。
六ステップ:日単位 POC から購買が防御できる記録へ
ダッシュボード凍結:キュー P50 と P95、依存解決比率、ディスク追い出しイベントを一枚に載せ、平日ピークを明示します。
単体ベースライン:同等メモリティアで一週間走らせ、キャッシュ方針だけが原因か確認します。
同一平面 POC:artifact_plane を共有する Runner を追加し DNS は据え置きで二週間比較します。
連係ゲート: tarball 削減が費用を上回るまで Thunderbolt を認めず、隣接に失敗したらロールバック条件を書きます。
リース昇格:成功した POC を月次以上へ移しオーナーを財務コードへ反映します。
注文トレーサビリティ:リージョンと SKU 意図を既定の注文経路へ載せて監査可能性を確保します。
引用できるエンジニアリング事実
Thunderbolt 世代の天井:マーケ資料は数十ギガビット級のポイントツーポイント帯域を謳いますが、夜間 tarball が低速経路を繰り返し飽和させるときだけ意味があります。
ギガビット公平性:専用 mini には対称ギガビットが載ることが多く、二台でキャップを共有するか複製するかを確認します。
並列トークン:コアではなくトークンで直列化すると二台でも一本のバケツになります。
注意:水平化は鍵の衛生を置き換えません。大陸をまたぐ署名鍵の複製は依然として禁止です。
オンプレラックは電源とケーブル作業とネストした仮想化の摩擦を抱えます。日から月まで伸縮するベアメタル Apple Silicon をアジア太平洋と北米の各メトロから選べるクラウドでは、実験コストを資本支出へ転嫁する前に抑制できます。CI の再現性とアーティファクトの局所性を契約に書けるチームにとって、KVMNODE のクラウド Mac mini レンタルは運用上もっとも整合しやすい選択になりやすいです。独占シリコン透過リージョン SKU と日単位からの伸縮で、証明されていない機材購入へ資金を縛らずに済みます。