счёт за инфраструктуру
Режем счёт за облако: самые горячие сервисы переписаны на Go и Rust
Ваши сервисы на Java и Python съедают память и машины, про которые ни у кого не было времени спросить «зачем столько». Инженеры с продакшен-стажем больше 25 лет переписывают горячие пути на Go или Rust за 30 дней, и это видно уже в следующем счёте.
В течение 48 часов у вас первая оценка экономии по текущему счёту, фиксированная цена и дата старта.
Парк JVM, рассчитанный на пиковую память, и ночной батч, который идёт, пока не придёт утренняя смена.
- Java servicesJVM heap per pod
- Python workersmany instances
- autoscalingpinned at max
- idle capacitypaid for
30 дней от первого профиля до последнего переключения
Те же сервисы на Go и Rust, в разы меньше памяти и меньше машин. Батч занимает минуты.
- Go servicessmall footprint
- Rust hot pathbatch in minutes
- clusterright-sized
- billmeasured before · after
Как падает счёт
- 01дни 1–3
Меряем счёт
Стоимость каждого сервиса, профили памяти и CPU под реальной нагрузкой и длина каждого батч-окна. По ним выбираем самые дорогие сервисы и вписываем ожидаемую экономию в оценку.
- 02дни 2–6
Записываем трафик
Снимаем продовые запросы и ответы на границе сервиса. Эта запись становится тестом, который каждый переписанный сервис обязан пройти до первого настоящего запроса.
- 03дни 5–24
Переписываем горячие пути
Первый перевод на Go или Rust делает платформа, а наши инженеры переписывают его под память, конкурентность и время старта. Каждый сервис гоняется на вашем трафике, пока выводы не совпадут.
- 04дни 22–30
Переключаем и ужимаем
Трафик переезжает сервис за сервисом, потом старые инстансы выключаются, а кластер уменьшается. Снова меряем счёт и кладём обе цифры рядом для вашего финансового отдела.
Что делает платформа, что делают инженеры
Чтение каждого сервиса и его графа вызовов
Платформа
Java, Kotlin, Python, Node и C#, каждый фреймворк в дереве и конфиг, который кто-то поставил много лет назад.
Профили памяти, CPU и старта
Вместе
Платформа снимает профили под реальной нагрузкой. Инженер их читает и находит, куда уходят деньги.
Первый перевод на Go или Rust
Платформа
Машинный вывод, ревью как у пул-реквеста, как у любого кода, который влила бы ваша команда.
Переписка под память и конкурентность
Инженер
Горутины вместо пулов потоков, потоковая обработка вместо загрузки всего в хип, Rust там, где на счету каждый байт.
Паритет на записанном трафике
Вместе
Запись и проигрывание на нас. Любое найденное расхождение подтверждает ваша сторона.
Размер кластера после переключения
Инженер
Меньше инстансов и меньше их размер, а лимиты автомасштабирования выставлены по тому, что новый код реально потребляет.
Каждый переписанный сервис проходит parity harness до живого трафика. Пользователи получают те же ответы быстрее, а вы платите за меньшее железо.
Кто переписывает ваши сервисы
Наши инженеры выпускают продакшен-код больше 25 лет, и лучше людей на сервис, который слишком дорого держать, вы не поставите. Они тюнили JVM, воевали с GIL в Python и ловили утечки памяти в Node прямо в продакшене, а потом переписывали те же сервисы на Go и Rust. Чтение и первый перевод делает платформа. Куда девается память, решают наши инженеры.
Оценка экономии заложена в цену до старта. У каждой фазы фиксированная цена и дата в договоре, а фаза считается сделанной, только когда прошла паритет на вашем трафике. Код ваш с первого коммита.
Что CTO спрашивают про счёт
Сколько мы реально сэкономим?
Первую оценку вы видите в течение 48 часов после того, как прислали счёт и список сервисов. К 3-му дню мы снимаем профили под реальной нагрузкой, и оценка уже по каждому сервису, с цифрами за ней. После переключения меряем снова и кладём оба счёта рядом. Запросите оценку сегодня, и первая цифра будет у вас на 2-й день.
Зачем переписывать, если можно затюнить JVM?
Тюнинг помогает до какого-то предела, а дальше каждый инстанс всё равно тащит рантайм, его сборщик мусора и стоимость старта. Сервис на Go или Rust сбрасывает этот груз и работает на доле прежней памяти. Где тюнинга достаточно, оценка так и говорит, сервис за сервисом. Попросите её сейчас и посмотрите, какие из ваших стоит переписывать.
Новые сервисы будут вести себя ровно как старые?
Да. Мы записываем продовый трафик и проигрываем его против обеих версий. Сервис получает живой трафик, только когда выводы совпадают, включая пограничные случаи и странное округление, а каждое найденное расхождение подтверждает ваша команда. Начните с самого дорогого сервиса и посмотрите, как он проходит.
Наша команда пишет на Java. Кто будет поддерживать код на Go?
Ваша команда. Go маленький язык, и Java-инженер начинает его читать за считанные дни. Каждый сервис приходит с тестами и ранбуками, ваши инженеры ревьюят каждый до переключения, а наши остаются на дежурстве первые дни в продакшене. Впишите дату передачи в договор уже сегодня.
При переключении будет простой?
Трафик переезжает сервис за сервисом через слой маршрутизации, а старые инстансы работают, пока новые не понесут реальную нагрузку. Откат сводится к переключателю, о котором договорились заранее. Пользователи видят более быстрые ответы. Запросите оценку и выберите первый сервис сегодня.
Принесите нам счёт
Перешлите сегодня последний счёт за облако и список сервисов. В течение 48 часов у вас оценка экономии, фиксированная цена и дата старта. Через 30 дней самые горячие сервисы работают на Go или Rust на меньшем числе машин, и следующий счёт это подтверждает.
Читает и отвечает инженер с продакшен-стажем больше 25 лет. NDA подписываем до того, как вы чем-то поделитесь.