У platform engineering чаще всего два вопроса: «Сколько Mac mini купить в ЦОД?» и «Арендовать всё в облаке и не трогать железо?» В 2026 ИИ-кодинг удваивает частоту PR, Xcode 26 усложняет оценку диска — чистая покупка или чистая аренда ломаются хотя бы в одном квартале.
Здесь форма развёртывания (покупка / полная аренда / гибрид) выбирается по размеру команды × пиковому параллелизму × compliance, затем — узкие места конфигурации, каналы поставщиков и TCO за три года. Данные и стартовые цены на 2026-07-25; сверяйте с сайтом Apple и тарифами провайдеров.
1. Сначала вывод: размер × параллелизм × рекомендуемая форма
| Профиль команды | Пик параллельных job | Ритм релизов | Рекомендуемая форма | Причина (одна фраза) |
|---|---|---|---|---|
| Инди / 1–3 человека | 1–2 | Раз в 2 недели — месяц | Полная аренда | CapEx сложно согласовать; облачный Mac посуточно хватит для Runner |
| Растущая команда 5–15 | 3–6 | Еженедельные релизы | Гибрид | 1–2 своих на PR; Pro-узлы в облаке на burst релиза |
| Средний / крупный бизнес 20–80 | 8–20 | Несколько app параллельно | Гибрид (опора на свой пул) | Свой пул + эластичность облака; см. выбор ресурсного пула |
| Финансы / жёсткий compliance | без лимита | Аудит и трассировка | Покупка + хостинг или EC2 Mac | Данные не покидают регион; договор и логи важнее цены за час |
| Аутсорс / проект | Всплеск 1–4 недели | Стоп после проекта | Полная аренда | Нет простаивающих активов; неделя/месяц выгоднее |
pod install → xcodebuild archive → codesign → upload), сначала арендуйте одну машину и проверьте процесс — потом считайте покупку. Покупка решает предсказуемую долгую стоимость, а не выбор технологии.2. Три ловушки: не оптимизируйте не ту форму
2.1 Покупка «на пик» на весь год
iOS-команда из 25 человек купила четыре M4 Pro (~3,6 млн ₽) «чтобы в релиз не стоять в очереди» — в будни загрузка <30 %. Через три года амортизация и электричество: цена job выше облачной аренды по запросу. Правильно: два своих на будни, два Pro в облаке на неделю релиза — очередь PR с 38 до 9 минут, CapEx ~на 40 % меньше.
2.2 Полная аренда как «бесконечный параллелизм»
Три облачных Mac без маршрутизации по меткам и лимитов concurrency: несколько репозиториев одновременно гоняют Archive, делят диск и связку подписи. Облаку нужна та же governance Runner, что и своему пулу — иначе растёт счёт, а пайплайны красные.
2.3 Игнор диска и дрейфа версии Xcode
Входные 256 ГБ с multi-simulator и DerivedData забиваются к третьей неделе. Без зафиксированного xcode-select после обновления системы ночной Archive падает целиком. Уровень NVMe и стратегия образа Xcode — предпосылка, не заплатка после факта, и при покупке, и при аренде.
3. Шаг 1: форма развёртывания (покупка / аренда / гибрид)
| Измерение | Покупка (свой/хостинг) | Полная аренда (облачный Mac) | Гибрид |
|---|---|---|---|
| Скорость запуска | медленно (закупка 2–6 нед. + установка) | быстро (минуты–часы) | средне (база своя + облако по запросу) |
| Эластичность | слабая (новая закупка) | сильная (масштаб по дням/неделям) | сильная (облако снимает пики) |
| TCO 3 года (2× M4) | низкий–средний (высокая утилизация) | средний–высокий (7×24 постоянно) | часто оптимален |
| Нагрузка на ops | высокая (ЦОД/хостинг/гарантия) | низкая (железо у провайдера) | средняя |
| Контроль compliance | высокий (чёткая физическая граница) | зависит от провайдера и региона | высокий (чувствительное — на своём) |
| Подходящие сигналы | предсказуемая нагрузка, срок >3 лет | проект, пилот, burst-пики | 5–50 человек, недельный релиз, ИИ-PR |
Правило: утилизация >60 % и ровная кривая concurrency → покупка; <40 % или проект <12 месяцев → аренда; между ними → гибрид — устойчивый ответ большинства команд в 2026.
4. Шаг 2: конфигурация и узкие места (память → диск → чип)
| Приоритет | Параметр | Рекомендация для CI | Если недокупили |
|---|---|---|---|
| 1 | Память | PR: 24 ГБ; UI multi-simulator: 32 ГБ+; параллельные Archive: 64 ГБ (M4 Pro) | swap, timeout с 15 до 45+ мин |
| 2 | NVMe | ≥512 ГБ на узел; большой repo + LFS: 1 ТБ или внешний том | DerivedData переполнен — см. блокировка диска |
| 3 | Чип | M4 10 ядер для PR; Pro 14 ядер для Archive + simulator | «ложный параллелизм» — 4 job в очереди, по факту серийно |
| 4 | Сеть | 1 Gbps+; артефакты в object storage, не на локальный диск Runner | загрузка в App Store Connect упирается в канал |
4.1 Оценка параллелизма (формула)
В пиковый день: одновременно стартующие job P95 × пик RAM на job ÷ доступная RAM на машине (20 % системе) ≈ число узлов. Пример: P95 = 6 job, 8 ГБ пик, из 24 ГБ доступно ~19 ГБ → минимум три M4 24 ГБ параллельно или два Pro 64 ГБ в разных пулах.
5. Шаг 3: поставщики и каналы закупки
| Тип канала | Примеры | Плюсы | Риски / внимание |
|---|---|---|---|
| Apple / авторизованные | магазин, корпоративные закупки | ясная гарантия, конфигурация | срок поставки; дорогой апгрейд RAM/SSD |
| Colocation в ЦОД | свой зал, хостинг Mac mini | физический контроль данных | электричество/охлаждение/удалённый KVM |
| Корпоративный Mac-хостинг | MacStadium, Mac mini Vault и др. | опыт CI, зрелые API | часто US/EU; латентность APAC — тест |
| Облачный Mac (public cloud) | AWS EC2 Mac instances | compliance-экосистема, интеграция AWS | почасово + минимум 24 ч; дорого |
| Bare-metal облачный Mac | Macstripe и др. | APAC/US-West, посуточная эластичность, ~5 мин до готовности | проверить физическую эксклюзивность и фиксацию Xcode |
Три обязательных вопроса: настоящий выделенный bare metal? данные сборки в нужном регионе? можно зафиксировать macOS/Xcode?
6. TCO за три года (2 узла × 7×24 постоянно)
Грубая оценка «2× M4 24 ГБ/512 ГБ, три года, базовый ops» — ваш счёт зависит от утилизации и региона.
| Модель | Год 1 (оценка) | TCO 3 года | Условие |
|---|---|---|---|
| Покупка + офис | железо ~320 000 ₽ + электричество/труд | 400 000–520 000 ₽ | свои ops; гео-DR не нужен |
| Покупка + сторонний хостинг | железо + хостинг 170 000–280 000 ₽/год | 680 000–900 000 ₽ | физический контроль без своего зала |
| Полная аренда облака (месяц) | у провайдера ~130 000–220 000 ₽/мес за 2 машины | 1,6–2,6 млн ₽ | если нет CapEx или короткий проект |
| Гибрид: 1 свой + 1 облако elastic | железо ~160 000 ₽ + облако по запросу | 570 000–800 000 ₽ | будни свой, пик облако — sweet spot многих команд |
| AWS EC2 Mac (2 инстанса) | часовая цена × 730 ч/мес ×2 | 1,7 млн ₽+ | уже в compliance AWS |
При утилизации <35 % проигрывают и полная аренда, и полная покупка. Гибрид фиксирует постоянные затраты на 1–2 базовых машинах и отдаёт неопределённость посуточной оплате — finance и engineering сходятся быстрее.
7. Чеклист заказа и дорожная карта из семи шагов
На ревью отмечайте:
- ☐ Оцифрованы пиковые параллельные job P95 и пик RAM на job
- ☐ Зафиксированы Xcode / macOS и окно обновления
- ☐ Ключи кэша DerivedData / SPM / Pods и политика очистки
- ☐ Изоляция связки codesign (match / ASC API)
- ☐ Регион compliance для данных сборки и срок хранения логов
- ☐ Метки Runner (будни / релиз / эксперимент)
- ☐ Алерт диска при заполнении >80 %
- ☐ SLA открытия облачного узла в гибриде (кто одобряет, срок)
Семь шагов (рекомендуемый порядок)
- Арендовать один облачный Mac, прогнать полный релиз, зафиксировать baseline по времени
- Подключить GitHub Actions / GitLab CI self-hosted Runner, concurrency = 1 для проверки стабильности
- Нагрузочный тест: 3–5 параллельных PR, смотреть RAM и диск
- По формуле §4 — число узлов в steady state, сколько покупать в базу
- Метки для release/тяжёлых job, бюджет burst в облаке
- Runbook: апгрейд Xcode, ротация сертификатов, cron очистки диска
- Ежеквартально TCO и утилизация, корректировка доли покупка/аренда
8. Стартовые цены для цитирования (на 2026-07-25)
| Позиция | Стартовая цена (публично) | Образование | Примечание |
|---|---|---|---|
| Mac mini M4 (16 ГБ/256 ГБ) | $599 / ~64 990 ₽ | ~58 000 ₽ | Apple; для CI нужен больший диск или внешний |
| Mac mini M4 (24 ГБ/512 ГБ) | ~$799 / ~94 990 ₽ | по конфигурации | sweet spot корпоративного CI |
| Mac mini M4 Pro (64 ГБ/1 ТБ) | ~$1 999 / ~239 990 ₽ | — | параллельные Archive + simulator |
| AWS EC2 Mac (m2.mac) | ~$1,083/час | — | мин. выделение 24 ч; страница цен AWS |
| Macstripe облачный Mac | посуточно, см. тарифы | — | выделенный физический M4; несколько узлов APAC |
Образовательная цена — для подходящих аккаунтов Apple; корпоративный CI обычно через business или аренду.
9. По сценариям: где должна стоять команда
| Сценарий | Первый выбор | Запасной | Не советуем |
|---|---|---|---|
| Новая iOS-команда, pipeline не устоялся | 1 облачный Mac — пилот | Xcode Cloud для лёгких задач | сразу купить 4 Pro |
| Стабильный недельный релиз, ~10 человек | Гибрид: 2 своих + burst облако | полная помесячная аренда | только GitHub-hosted macOS (очередь) |
| Несколько app/repo, тяжёлые ночные тесты | Свой пул + пулы по меткам | хостинг MacStadium | бесконечный concurrency на одной машине |
| Трансграничная команда APAC + US-East | мультирегиональное облако | mini в каждом офисе | одна региональная точка отказа |
«Будни тянем, релиз пугает»? Подключите облачный Mac Macstripe на неделю в пул Runner — реальные PR-данные лучше спора «покупать или арендовать» в переговорке.
Итог
Покупка: предсказуемая нагрузка, утилизация >60 %, свои ops, данные в своём периметре. Аренда: проект, пилот, пик, без CapEx. Гибрид: 5–50 iOS-разработчиков, недельный релиз, ИИ ускоряет PR — самый частый корпоративный steady-state в 2026.
Следующий шаг: неделя данных pipeline в чеклист §7, затем цены §8 для TCO трёх лет. Дальше: корпоративный пул Mac CI.
Часто задаваемые вопросы
Маленькая команда, 1–2 app — обязателен свой iOS CI?
Нет. При пике ≤2 параллельных job и релизе реже раза в неделю один выделенный облачный Mac с self-hosted Runner обычно окупается быстрее. Покупку оценивайте после стабилизации pipeline.
В гибриде: что на своём, что в облаке?
Свой: проверки PR, unit-тесты, lint. Облако: Archive релиза, нотаризация, UI multi-simulator, burst окна релиза. Метки Runner разделяют группы.
AWS EC2 Mac и аренда bare-metal облака — в чём разница?
Оба — настоящее железо Apple. EC2: почасово + минимум 24 ч, удобно в compliance AWS. Bare-metal облако: посуточно/понедельно, быстрее в APAC — для кратко-/среднесрочной эксклюзивности и трансграничной работы.
Купили Mac mini — всё равно держать облачные узлы?
Да. Крупные апгрейды Xcode, релизные спринты и шторм PR от ИИ заполняют свой пул. 1–2 облачных узла по запросу дешевле, чем лишние Pro круглый год.