Тезис в одну строку: к середине 2025-го для L1 валидаторов bare metal выигрывает на каждой оси, которую мы считаем серьёзной (cost per slot-month, p99 attestation, slashing-экспозиция, time-to-recover после регионального отказа), кроме одной: скорость первоначального деплоя. У нас сейчас 85 продакшен-нод, из них около 72 на bare metal и 13 на cloud, и этот сплит держится не потому, что мы не дочитали табличку, а потому, что у оставшихся 15 процентов есть конкретные задачи, на которые bare metal не отвечает. Этот пост объясняет, что именно мы считаем, какие получаются числа и где cloud всё ещё имеет смысл.
Дисклеймер: это не case study и не материал «как мы кого-то спасли». Это техническое мнение, опирающееся на наш собственный флот, и оно довольно прямое. Если у вас 4 ноды и команда из одного человека, кусок этого поста может оказаться неприменимым, и мы про это скажем отдельно.
Что считаем
Большинство сравнений «облако против железа» начинаются с uptime, и это сразу неправильная метрика для валидатора. Uptime 99.95 процента на двух платформах может скрывать совершенно разные распределения отказов. Bare-metal-нода, которая упала на 4 часа из-за PSU и поднялась, и cloud-нода, которая 200 раз за месяц словила микро-jitter в hypervisor-слое и пропустила attestation slot тут и там, формально могут попадать в один и тот же uptime-bucket, но slashing-экспозиция у них принципиально разная.
Что мы считаем по факту:
- Cost per slot-month. Полная стоимость владения одной валидаторской ёмкостью за календарный месяц, включая железо/аренду, питание, transit, on-call ротацию, ремонт. Не «прайс листа», а tco.
- p99 attestation latency на 30-дневном окне. Не среднее, не медиана, девяносто девятый перцентиль. Потому что слешат на хвосте, а не на медиане.
- Region diversity. Сколько уникальных юрисдикций и autonomous systems накрываем флотом одного клиента. Если все ноды в AWS, то AS у вас один, как ни нарезай регионы.
- Slashing-incident exposure. Поверхность, через которую двойная подпись или missed attestation может произойти не по нашей вине. Hypervisor, shared kernel, neighboring tenant, cloud-провайдерский live migration на горячую: всё считаем.
- Time-to-recover после регионального outage. Сколько проходит от alert до восстановленной аттестации, если выпал целый регион. Не отдельная нода, а cluster failover.
«Uptime в процентах» в этот список не входит как primary metric. Он есть в дашборде, но это derivative. Если у нас p99 attestation 45 мс и нет slashing-events за квартал, мне всё равно, что uptime показал 99.94 или 99.97 процента: это шум.
Cloud: где он всё ещё выигрывает
Начнём с честной части, потому что она короче и многие пропускают её сразу к холивару.
Burst capacity. Когда протокол объявляет инсентивированный testnet за 9 дней до cutover и просит 12 нод в 5 регионах, никакой коло не успеет завезти железо. Hetzner Cloud и Latitude.sh поднимают нам 12 машин за час, мы откатываем testnet через 8 недель, гасим всё, платим за два месяца аренды и забываем. На bare metal мы бы заказывали железо на сроки, которые перекрывают сам testnet. Это не теоретический сценарий, у нас в 2025-м таких эпизодов было 4.
Ad-hoc testnet и shadow-режим. Прежде чем поставить новый клиент консенсуса в продакшен, мы крутим его в shadow-режиме рядом с продакшеном, без участия в подписях. Cloud для этого почти идеален: поднял, погонял пару недель, посмотрел на p99 в логах, снёс. Покупать под shadow железо на 36 месяцев amortization-а это абсурд.
MEV-relay co-location experiments. Эксперименты с тем, где физически поставить relay относительно block-builder-флота, удобно делать в облаке, потому что регионы AWS и GCP покрывают большую часть нужной географии и переключать локацию дёшево. Когда мы понимаем, что нам нужен relay в Сингапуре навсегда, мы съезжаем на коло. До этого момента облако оптимальнее.
Юрисдикции, где коло физически невозможно или дорого до бессмысленности. В части APAC и в нескольких LATAM-странах мы либо не можем зайти как foreign legal entity на разумных сроках, либо контракт на коло занимает 4-6 месяцев согласований. Если протоколу нужна нода в этой юрисдикции «вчера», AWS или GCP региональный edge решают задачу за 20 минут, и это правильный выбор, даже зная, что long-term cost будет в 2.3 раза выше bare metal.
Specialized hardware на короткие окна. Когда нам нужно проверить, как валидатор поведёт себя на конкретной архитектуре CPU, которую у наших bare-metal-вендоров взять нельзя без 6-недельного окна поставки, EC2 metal instances или Hetzner dedicated дают нам это за полдня.
Cloud в нашем флоте это инструмент для коротких циклов, для географии вне досягаемости и для всего, у чего amortization-окно меньше 9 месяцев. Если бы у нас было только bare metal, мы потеряли бы часть рынка, а не «сэкономили бы ещё 15 процентов».
Bare metal: где он рвёт cloud
Теперь длинная часть. Числа здесь нашего флота, июнь 2025, для класса валидаторов «Validator-S» по нашему внутреннему классификатору (L1 validator, не-archival, не GPU).
Cost per slot-month: bare metal 38-45 процентов от cloud-эквивалента. Если конкретно: эквивалент по CPU и RAM (8c/16t Zen4-класса, 64GB ECC RAM, 2x2TB NVMe) у Hetzner на dedicated AX102 обходится нам в $93/месяц включая транзит. Тот же ресурс у AWS на m7a.2xlarge с reserved 1y commitment это $228/месяц, плюс EBS, плюс data transfer, плюс снапшоты, итог в районе $310-340/месяц на ноду. Разница в 3.5-3.6 раза. И это с учётом того, что bare metal у нас включает on-call cost, который при таком объёме амортизируется в районе $14/месяц на ноду.
p99 attestation: bare metal 38-52 мс, cloud 110-280 мс. Замеры за июнь 2025 по 30-дневному окну. Cloud-числа даны диапазоном, потому что они сильно зависят от noisy neighbor: в одном AWS regions у нас были недели p99 в районе 130 мс и недели в районе 240, без понятной нам корреляции с workload-ом. Bare metal на vLAN-level peering к нашим транзит-провайдерам даёт распределение, которое умещается в 14 мс между p50 и p99. У cloud-нод этот разрыв 80-160 мс.
Hardware-rooted attestation keys. На bare metal мы можем поставить Yubikey или Nitrokey HSM физически в машину, заэнфорсить, что приватный ключ никогда не покидает железо, и иметь хардвар-руту доверия. В cloud этот класс защиты в общем случае недоступен: KMS у провайдера это управляемый сервис, и поверхность доступа к нему включает IAM, console, support-инженеров провайдера. Для slashing-чувствительных воркложадов это не теоретический риск, и мы видели публичные инциденты, где компрометация облачного аккаунта приводила к двойной подписи.
No hypervisor surface. Хайпервайзер в облаке это слой между нашим валидатором и кернелом, к которому у нас нулевой видимости и нулевого контроля. Live migration AWS, которая случается без предупреждения и обычно занимает миллисекунды, при невезении приводит к пропущенному attestation slot. Мы фиксировали это 6 раз за 2024 год на 13 cloud-нодах. На bare metal такой surface нет вообще: kernel, NIC, диск, мы. Это меньше работы для нас в плохой день.
Региональное разнообразие на уровне ASN. Если у вас 25 нод во всех регионах AWS, у вас всё ещё один autonomous system. Coordinated AWS outage (а они бывают: 2021, 2023, в этом году пока нет) у вас выносит весь флот. У нас 8 коло-провайдеров через разные транзит-аплинки и разные ASN, и единственный сценарий, при котором у нас выпадает всё одновременно, это что-то, чего я не хочу видеть.
Slashing-экономика на тонком хвосте. Это самое важное. Сложность не в том, чтобы валидатор работал. Сложность в том, что вы не получили двойную подпись из-за того, что failover ваш сработал, когда primary ещё думал, что он жив. На bare metal с нормальным STONITH и vLAN-fencing-ом этот сценарий мы контролируем end-to-end. В облаке часть этого контура отдана hypervisor-у и провайдерскому network-уровню, и при инциденте root cause иногда оказывается «AWS сделал что-то странное», что для нас значит «мы не можем это исправить».
Гибрид как дефолт
Наш текущий сплит, июнь 2025:
- ~72 ноды bare metal, распределённые между 8 коло-фасилити в 8 странах. Преимущественно AMD EPYC 9354 на материнках Supermicro H13, плюс некоторое количество Hetzner AX102 (там, где Hetzner физически живёт, и где транзит достаточно качественный). NVMe Samsung PM9A3 на storage-tier-е, ECC RAM везде, IPMI на отдельном VLAN-е без интернет-доступа.
- ~13 нод cloud, распределённые между Hetzner Cloud (5 нод, в основном для не-критичных RPC), Latitude.sh Metal-on-Demand (4 ноды, тестнеты и burst), AWS (3 ноды, для двух конкретных юрисдикций, где коло у нас нет), и одна экспериментальная AWS Outposts конфигурация для клиента с compliance-требованием держать ноду в их физическом периметре.
Конкретные роли:
- Все L1 mainnet валидаторы, чувствительные к slashing-у (Ethereum, Solana, Cosmos hub, Avalanche, NEAR): bare metal, без исключений.
- Все archival и RPC ноды, где storage-cost доминирует над всем остальным: bare metal, и тут разрыв с облаком ещё больше, мы считаем archival на cloud экономически абсурдным выше определённого порога.
- Testnet валидаторы и shadow-конфигурации: cloud.
- MEV-relay в географиях, где мы ещё не уверены, что захотим жить долго: cloud.
- Юрисдикционные edge cases: cloud (AWS, GCP), пока в этой юрисдикции не появится коло-партнёр, с которым мы готовы работать.
Принцип сплита: bare metal по умолчанию, cloud там, где cost структура воркложада оправдывает облачную премию, или там, где альтернативы нет. Pure bare metal у нас был в 2022 и 2023, и мы упустили два контракта на инсентивированные testnet-ы из-за того, что не могли быстро выйти в нужную географию. Pure cloud у нас никогда не было и не будет, потому что cost per slot-month и slashing-экспозиция несовместимы с моделью бизнеса.
Когда не надо мигрировать
Будем тут максимально прямыми, потому что видели несколько маленьких операторов, которые попытались уйти на коло и потеряли год на логистику.
Если у вас меньше 10 нод и команда 2 человека: оставайтесь в облаке. Bare-metal-логистика, которая выглядит на бумаге как «закажи сервер, поставь Linux, разверни валидатор», на практике это: переговоры с коло, ITAR-релевантные таможенные документы для части железа, IPMI-аккаунты, remote-hands процессы, контракты на transit, billing-цикл, мониторинг физического слоя, замена сгоревших дисков с уведомлением заранее. На 8 нодах амортизация этой работы экономически не сходится, она съест больше времени, чем сэкономит денег.
Если вам нужно быть в продакшене в 5 регионах через 3 недели: cloud, без вариантов. Bare-metal-логистика на новой географии у нас занимает 6-10 недель, и это с уже отработанными коло-партнёрами. На совсем новой стране сроки больше. Если бизнес-задача требует скорости, торопиться на коло это плохо.
Если вы оптимизируете маркетинговое заявление о «децентрализации», а не операционную надёжность: не делайте этого вообще, и тем более не делайте через bare metal. Маркетинговая децентрализация это перепост красивой карты в твиттер, а bare metal это контракт на 12-36 месяцев с провайдером, у которого вы не сможете уехать без даунтайма. Эти инструменты решают разные задачи.
Если ваш протокол не slashing-чувствительный (некоторые DePIN-сети с soft-finality, или storage-нагрузки без on-chain penalties): экономика выглядит иначе, и облако может быть рациональным выбором даже long-term. Этот пост про L1 валидаторов конкретно.
Что мы поменяем в 2026
Несколько направлений, которые мы трогаем сейчас и про которые честно не знаем, как они выйдут.
Latitude.sh Metal-as-a-Service для региональных edge-кейсов. Latitude обещает bare-metal-провижининг за 8-15 минут в десятке локаций, и мы тестируем их сейчас в LATAM и part of APAC. Если их p99-числа окажутся ближе к нашим коло-бенчмаркам, чем к AWS, мы будем сдвигать туда часть текущих cloud-нод. Пока (июль 2025) у нас 4 ноды в их сети, и данных за полный квартал ещё нет.
OpenMetal для archival storage tier. Archival ноды на коло у нас работают хорошо, но капитальные затраты на NVMe постоянно растут, и storage-only коло-партнёрства начинают выглядеть привлекательнее. OpenMetal предлагает privacy-preserving private cloud на bare metal с почасовой оплатой за storage, и для archival-нагрузок это потенциально interesting middle ground. Тестируем с июня, будем готовы говорить о результатах ближе к концу года.
Akash + bare metal как гибрид. Этот пункт мы добавляем с открытым скептицизмом. Akash продаёт нарратив «децентрализованный compute, который может бежать на bare metal через provider-ноды». На бумаге это означает, что мы могли бы зарегистрироваться как Akash provider на наших коло-стойках и сдавать burst-ёмкость в их marketplace в окна, когда наш собственный workload её не использует. На практике у Akash сейчас (середина 2025) provider economics, в которые я не верю до того, как мы прогоним их сами на одной коло-стойке как контрольный эксперимент. Запланировано на Q3-Q4. Если экономика разойдётся с маркетингом, мы об этом напишем.
Hardware roadmap. Мы смотрим на AMD EPYC Bergamo и Genoa-X для следующего поколения validator-нод. EPYC 9354 у нас живёт хорошо, но через 18 месяцев он перестанет быть оптимальным по cost-per-attestation. Этот сдвиг затрагивает только bare metal, потому что cloud мы апгрейдим инстанс-классом, а не закупкой.
Общий вектор на 2026: продолжаем смещаться в сторону bare metal там, где экономика и slashing-экспозиция это диктуют, и держим cloud как инструмент с конкретной функцией, а не как дефолт. Маятник в индустрии раскачивается от полного облака в 2020-2022 обратно к dedicated железу, и мы видим, как другие серьёзные операторы делают тот же сдвиг с той же мотивацией.
Если у вас оператор-флот, и вы делаете похожие расчёты, или приходите к другим выводам, мы рады разобрать цифры. Контакты в футере.
Команда XIMTRX