Aetòs: IDP, который сэкономил $2,5 млн в год

Aetòs: от хаоса к инженерному совершенству — трёхлетняя трансформация

Как мы изменили инженерную продуктивность, построив внутреннюю платформу для разработчиков (Internal Developer Platform, IDP), которая сегодня обрабатывает ~50 млн API-вызовов в сутки, управляет 14 000 виртуальных машин и обеспечивает более 80 релизов в год — и чему вы можете научиться на нашем опыте.

Прежде чем перейти к рассказу об Aetòs, хочу сделать одно уточнение: этот материал не о том, как выбрать «правильный» язык, фреймворк или инструментальный стек. Вы разберётесь с этим сами. Технологии — не самое сложное. Самое сложное — всё то, что вокруг них.

Большинство инженеров так долго живут с поломанными рабочими процессами и бесконечной ручной работой, что боль стала нормой. Изменить это — фундаментально культурная проблема, а не техническая. Никто не платит за вашу внутреннюю платформу и никто не обязан ею пользоваться. Принятие зарабатывается, а не насаждается.

Вы побеждаете только тогда, когда побеждают они. Этот текст — о том, как я прошёл этот путь вместе с Aetòs.

Aetòs в цифрах

Масштаб и производительность

  • ~50 млн API-вызовов в сутки — оркестрация всего инженерного жизненного цикла

  • 14 000+ виртуальных машин под управлением — при ежедневной ротации 3 000–4 000 ВМ

  • 80+ релизов в год — рост примерно в 2,5 раза по сравнению с периодом до Aetòs

  • 99,9% времени безотказной работы — надёжность платформы на производственном масштабе

Бизнес-результаты

  • $2,5 млн экономии на облачных расходах ежегодно — три года подряд, снижение затрат на облако примерно на 70%

  • 10 000+ инженерных часов, сэкономленных каждый квартал — время переключено с рутины на инновации

  • Сокращение времени на разбор инцидентов (triage) более чем на 90% — за счёт анализа сбоев с помощью ИИ

  • ~50% ускорение цикла выпуска — от коммита до продакшна

  • Доля работы по «поддержанию огня» снизилась с 76% до 36% — большая часть инженерного времени теперь уходит на новые инициативы, а не на повторяющиеся операционные задачи

Инженерная эффективность

  • 8 000+ модулей ядра на релиз — полностью автоматизированная квалификация

  • 50+ конфигураций платформы — непрерывная сертификация и тестирование

  • 500+ млн записей в базе данных — глубокая историческая аналитика

  • 90% сокращение ручного вмешательства — автоматизация на каждом уровне

Точка разрыва

Апрель 2022 года. Проработав в VMware более десяти лет, я только что присоединился к команде Portworx компании Pure Storage. Я сидел перед ноутбуком и изучал список проблем с продуктивностью, который передал мне Раджан Ядав (Rajan Yadav), директор по разработке платформы.

Наша DevOps-команда последние несколько кварталов вручную координировала тестовую инфраструктуру, выслеживала нестабильные сбои и пыталась добиться стабильных результатов в постоянно усложняющейся матрице дистрибутивов Kubernetes, Linux-дистрибутивов и облачных провайдеров.

Проблема была не в людях — у нас работали блестящие инженеры, которые трудились в полную силу. Проблема в том, что мы переросли наши инструменты. Каждый релиз давался с трудом, как будто катишь камень в гору.

В тот вечер я начал набрасывать то, что впоследствии стало Aetòs (в переводе с греческого — «орёл»): платформой, которая должна была изменить не только то, как мы выпускаем программное обеспечение, но и то, как мы в целом думаем об инженерной эффективности.

План, который едва не остался планом

Portworx работал как стартап с минимальным штатом — большинство инвестиций вполне обоснованно направлялось на функциональность, ориентированную на клиентов. Выделить отдельные ресурсы на внутреннюю платформу было нереально, поэтому мы договорились создавать первую версию параллельно с основной работой.

Это ограничение поставило нас перед выбором: ждать идеальных условий или начать с малого и доказать ценность платформы на деле.

Решение «двадцати процентов»

Нам нужно было начать с малого, но сделать это так, чтобы система могла масштабироваться до любого уровня и фундамент был правильным.

Несколько человек из DevOps-команды выделили около 20% своего времени на создание первых компонентов Aetòs — и уже через три недели у нас работал первый микросервис: Aetòs Private Cloud.

Отсутствие выделенного бюджета обернулось неожиданным преимуществом. Оно заставило нас:

  • строить только то, что инженерам действительно нужно;

  • проверять каждую функцию через реальное использование;

  • завоёвывать поддержку, решая конкретные проблемы одну за другой.

Никакого масштабного финансируемого проекта. Только стабильные, накапливающиеся победы.

Три года спустя

Сегодня Aetòs — единственный оркестрационный слой для всех операций платформенной инженерии в Portworx. Главное — платформа вернула инженерам нечто бесценное: время — время для инноваций вместо координации.

Три года спустя небольшая DevOps-группа намеренно эволюционировала в команду платформенной инженерии (Platform Engineering), для которой Aetòs стал основным продуктом, который мы создаём и развиваем для остальных инженеров.

Благодаря тому что Aetòs берёт на себя тяжёлую работу, мы теперь управляем высокопроизводительной организацией платформенной инженерии с соотношением инженеров примерно 20:1. Один платформенный инженер эффективно поддерживает около двадцати продуктовых инженеров, не тормозя их работу — без этого IDP-фундамента такое было бы невозможно.

По задумке Aetòs может поддержать любой продукт с минимальной кастомизацией.

Каталог сервисов, предоставляемых через Aetòs

Решение на пяти столпах: как строился Aetòs

Aetòs держится на пяти ключевых столпах, каждый из которых закрывает критическую часть задачи повышения инженерной эффективности.

Столп 1: управление частным облаком — инфраструктура в масштабе

Сегодня Aetòs управляет 14 000+ виртуальных машин при примерно 700 развёртываниях в сутки и ежедневной ротации 3 000–4 000 ВМ. Мы эксплуатируем частные облака как на базе vSphere, так и на базе KubeVirt, и постепенно переводим новые рабочие нагрузки на модель KubeVirt + Portworx.

Инвентарь тестовых стендов частного облака

Результаты

  • Стабильные пайплайны с показателем успешности инфраструктуры 95%+

  • Снижение облачных расходов примерно на 70%

  • Около $2,5 млн экономии в год три года подряд

Что мы построили

Aetòs Private Cloud — программный сервис, который скрывает KubeVirt и vSphere за единым, чётко структурированным API и пользовательским интерфейсом.

Ключевые возможности:

  • управление ресурсами, квотами и арендой с встроенными ограничителями;

  • автоматическая очистка и рекультивация истёкших сред;

  • уведомления и процессы расширения для инженеров, которым нужно больше времени;

  • единообразные метаданные о каждой ВМ и среде.

При тысячах ВМ, сменяющих друг друга каждый день, сбои неизбежны. Поэтому мы встроили логику повторных попыток и плавную деградацию (graceful degradation) в каждый компонент. Система ожидает отказов и справляется с ними, не будя людей без необходимости.

Для вашей организации

Между управлением локальным дата-центром и управлением частным облаком — большая разница. Многие предприятия тратят миллионы на локальное оборудование, но по-прежнему обращаются с ним как со статичным инвентарём.

Вывод: относитесь к локальной инфраструктуре так же, как к ресурсам публичного облака — с арендой, квотами, тегированием и автоматизацией.

Столп 2: пайплайны и управление — к ежедневным готовым к выпуску сборкам

Сердце Aetòs — движок оркестрации пайплайнов. Он даёт инженерам сквозную видимость и возможность отлаживать прямо из браузера, и именно благодаря ему мы можем выпускать 80+ релизов в год.

Представление для разбора инцидентов пайплайна

Проблема, которую мы решили

До Aetòs:

  • пайплайны работали изолированно на разных наборах изменений, поэтому «зелёный» статус не всегда означал, что один и тот же код реально был протестирован;

  • тестовые матрицы составлялись вручную;

  • инженеры дежурили рядом с долгими задачами;

  • результаты были разбросаны по нескольким системам.

На координацию одного релиза легко уходило 20–40 часов инженерного времени.

Сегодня — ключевые возможности

  • Интеллектуальная оркестрация тестов — система анализирует метаданные сборки и автоматически запускает нужные пайплайны.

Многоуровневое тестирование:

  • L1 — дымовые тесты (smoke tests), ~2 часа

  • L2 — функциональные тесты, ~8 часов

  • L3 — системные тесты, 24+ часа

Движок рекомендаций по сборкам — продвижение между уровнями происходит только при прохождении ворот качества (quality gates).

Интеграция Aetòs AI (на базе нашего внутреннего движка LongClaw):

  • сокращение времени на разбор инцидентов более чем на 90%;

  • автоматическая классификация и кластеризация логов;

  • человекочитаемые сводки по сбоям с предложенными ответственными.

Результаты

  • 80+ релизов в год по нескольким продуктам

  • ~90% сокращение ручного вмешательства в пайплайны

  • ~50% ускорение цикла от сборки до релиза

Для вашей организации

Если вы не знаете, с чего начать — начните отсюда. Оркестрация релизов даёт наибольший возврат на инвестиции, потому что затрагивает всех и каждый день. Сначала создайте движок пайплайнов и обеспечьте наблюдаемость с первого дня. Если инженеры не видят, что происходит и почему, они не будут доверять автоматизации.

Столп 3: EaaS (среда как услуга) — развёртывание в один клик

EaaS (Environment as a Service) полностью изменила то, как инженеры думают о тестовых средах. То, что раньше занимало дни, теперь занимает минуты.

Мы поддерживаем каталог рецептов развёртывания под названием Starting States («начальные состояния»). Каждый шаблон аккумулирует годы накопленных знаний: точную конфигурацию, необходимую для конкретных сценариев в AWS, GCP, Azure, IBM, Oracle, а также в локальных средах vSphere или на bare-metal.

Рабочий процесс мгновенного создания тестового стенда Portworx

До EaaS

  1. Инженер создавал тикет в команду инфраструктуры.

  2. Ждал 1–3 дня, пока не появится доступ к преднастроенной среде (которая зачастую не совсем соответствовала нужному).

  3. Вручную настраивал Portworx и сопутствующие компоненты.

  4. И лишь затем приступал к тестированию.

С EaaS

  1. Инженер выбирает продукт и Starting State.

  2. Нажимает Deploy.

  3. Получает готовую к работе среду с управлением жизненным циклом через аренду и автоматическим удалением.

Результаты

  • 10 000+ инженерных часов экономии каждый квартал

  • Тестовые стенды доступны в vSphere, AWS, Azure, GCP и на bare-metal

  • Автоматическая очистка предотвращает неконтролируемый рост ресурсов

  • «Мгновенные» стенды для типовых рабочих процессов (например, можно прямо во время разговора с клиентом одним кликом развернуть среду для демонстрации возможностей продукта)

Для вашей организации: начните с шаблонов для трёх наиболее частых сценариев. Не пытайтесь сразу охватить все возможные комбинации. Позвольте реальному использованию диктовать, что добавлять дальше.

Столп 4: квалификация Linux-дистрибутивов — автоматизированная поддержка ядер в масштабе

Если вы поставляете модули ядра, вам знакома эта боль: вселенная Linux-дистрибутивов и версий ядра непрерывно расширяется, а клиенты ожидают быстрой поддержки.

Для Portworx это вопрос критической важности.

Инвентарь автономной квалификации дистрибутивов

Задача

Для каждого релиза мы обязаны обеспечить поддержку нашего FUSE-модуля для:

  • 8 000+ модулей ядра;

  • множества дистрибутивов: RHEL, Oracle Linux, Rocky, Ubuntu, Photon OS, Amazon Linux, SUSE и других;

  • непрерывно обновляемых ядер — порой еженедельно.

Требования к качеству строгие: каждое ядро должно быть протестировано и квалифицировано, прежде чем мы заявляем о его поддержке.

Решение: автономные пайплайны квалификации дистрибутивов

Мы создали движок автономной квалификации дистрибутивов (Unattended Distro Qualification Engine), который работает полностью без участия человека: обнаруживает новые ядра, запускает процессы квалификации и ведёт актуальную базу данных матрицы поддерживаемости.

Интеллектуальные рекомендации:

  • анализирует показатели прохождения тестов и паттерны регрессий;

  • автоматически рекомендует ядра для поддержки при прохождении всех проверок.

Результаты

  • SLA по квалификации ядер улучшился с 7 дней до 48 часов

  • Ручная работа, которой раньше занималась отдельная команда, теперь выполняется Aetòs

  • Видимость в реальном времени по всем поддерживаемым Linux-дистрибутивам

Для вашей организации

Это была довольно уникальная задача, и мы не нашли готового решения на рынке. Если вы сталкиваетесь с чем-то подобным, не стесняйтесь обращаться — прежде чем изобретать велосипед заново.

Столп 5: единая панель управления и аналитика — решения на основе данных

Нельзя улучшить то, чего не видишь. Наши дашборды превратили решения «по ощущениям» в решения на основе данных.

Революция наблюдаемости

Результаты тестов в реальном времени

По каждому запуску мы можем ответить на вопросы:

  • Что выполняется прямо сейчас?

  • Что прошло или упало в последней сборке?

  • Какие тесты стабильно нестабильны (flaky)?

  • Какова историческая доля успешного прохождения конкретного теста?

Инженеры узнают значительно быстрее, сломало ли их изменение что-нибудь, — а не спустя часы или дни.

Анализ исторических тенденций

Работая с историческими данными, мы обнаружили паттерны, которые иначе бы не заметили — например:

  • некоторые наборы тестов показывали ~80% успешных прохождений из-за нестабильности инфраструктуры, а не проблем с продуктом. Исправив инфраструктуру, мы сэкономили тысячи инженерных часов, которые раньше тратились на погоню за ложными сбоями.

Метаданные решают всё

Мы тегируем всё: кто запросил, какой продукт, какая команда, какой проект. И это не всё — ещё версия ядра, git-коммит, номер сборки и многое другое. Это питает:

  • распределение затрат;

  • планирование мощностей;

  • аналитику использования.

Если не можешь измерить — не сможешь оптимизировать.

Дашборд поиска и аналитики

Результаты

  • Время обнаружения регрессий: с 24–48 часов до 2–6 часов

  • 100% прослеживаемость тестов

  • Решения о релизах и изменениях инфраструктуры принимаются в 3 раза быстрее

Для вашей организации: не начинайте с грандиозного проекта по созданию дашбордов. Начните с одной метрики, которая важна больше всего. Для нас это была видимость пайплайнов с категоризацией нестабильности и ошибок. Добавляйте визуализации только тогда, когда раз за разом ловите себя на том, что отвечаете на одни и те же вопросы вручную.

Уроки трёхлетнего пути

  1. Платформенная инженерия требует чаще говорить «нет», чем «да». Каждая команда хочет кастомизацию. Платформа обязана соблюдать стандарты — иначе побеждает сложность.

  2. Наблюдаемость в масштабе — не опция. Наша способность диагностировать сбои инфраструктуры, сетевые несоответствия и нестабильность CI возникла именно из глубокой наблюдаемости.

  3. Управление затратами нужно инженерить, а не декларировать. Aetòs стал слоем принуждения к экономически оптимальным решениям: утечки видны в дашбордах, а не в квартальных отчётах.

  4. Управление сборками — самый недооценённый ускоритель скорости выпуска. Когда инженеры доверяют сигналам тестирования, всё остальное тоже ускоряется.

  5. Культура меняется только тогда, когда новый путь проще старого. Чистый UX и надёжная автоматизация вытеснили «племенные» практики — никакие политические документы с этим не справились бы.

Заключение

Aetòs фундаментально изменил то, как мы создаём, тестируем и выпускаем программное обеспечение в Portworx. То, что начиналось как самодельный побочный проект, превратилось в комплексную платформу инженерной эффективности, которая сегодня охватывает каждый этап нашего цикла разработки.

Сегодня менее 35% нашего времени уходит на «поддержание огня» — против 76% в начале. С каждым кварталом всё больше инженерных ресурсов направляется на новые инициативы, а не на повторяющиеся операционные задачи.

Но за цифрами стоит культурный сдвиг. Речь идёт о том, чтобы:

  • наделить инженеров возможностями самообслуживания;

  • принимать инженерные решения на основе данных, а не интуиции;

  • автоматизировать рутинную работу, чтобы люди могли сосредоточиться на творческой.

По пути вы будете слышать «нет» — культурные изменения требуют времени. Вам не нужна большая команда или огромный бюджет, чтобы начать. Нужны ясное видение, дисциплина — решать одну проблему за раз — и терпение, пока доверие к платформе не окрепнет.

🚀 Готовы строить собственную платформу? Начните отсюда

Вам не нужно воссоздавать Aetòs, чтобы получить пользу. Вот облегчённая дорожная карта, основанная на том, что сработало у нас.

Месяц 1 — выявление и проверка

Недели 1–2: найдите главную болевую точку

  • ❏ Проведите опрос среди инженеров, разберитесь в их проблемах

  • ❏ Выберите одну задачу для решения (пайплайны, инфраструктура или среды)

  • ❏ Определите метрики успеха (сэкономленное время, снижение числа ошибок, уровень принятия)

Недели 3–4: создайте MVP по принципам дизайн-мышления (Design Thinking)

  • ❏ Разработайте архитектуру, которая сможет масштабироваться, даже если первый сценарий невелик

  • ❏ Автоматизируйте сначала самую повторяющуюся задачу с наибольшим эффектом

  • ❏ Следуйте принципу API first — UI может подождать

  • ❏ Инструментируйте всё с первого дня: логи, метрики, трейсы

Месяц 2 — доказательство ценности

Недели 5–6: найдите реальных пользователей

  • ❏ Привлеките 3–5 ранних последователей — это ваши партнёры

  • ❏ Сидите рядом, пока они пользуются системой; не просто собирайте отзывы — разрабатывайте вместе

  • ❏ Быстро исправляйте проблемы, чтобы завоёвывать доверие

Недели 7–8: выстраивайте доверие

  • ❏ Делайте результаты видимыми: дашборды, уведомления в чат, простые отчёты

  • ❏ Предоставляйте механизмы безопасного переопределения (доверие растёт, когда люди чувствуют контроль)

  • ❏ Задокументируйте основные рабочие процессы

  • ❏ Делитесь конкретными победами с цифрами

Месяц 3+ — постепенное масштабирование

Недели 9–12: расширяйте принятие

  • ❏ Откройте доступ для немного большей группы

  • ❏ Добавьте вторую по востребованности функцию — на основе реального использования

  • ❏ Добавьте простой UI для наиболее типовых рабочих процессов

Квартал 2 и далее — позвольте пользователям тянуть, не толкайте сами

  • ❏ Проводите регулярные рабочие часы или сессии обратной связи

  • ❏ Стройте только то, что пользователи реально запрашивают и готовы принять

  • ❏ Каждый месяц измеряйте и публично делитесь метриками результативности

Технологический стек

  • Portworx Enterprise с DR (аварийное восстановление)

  • Pure Storage (FlashArray / FlashBlade) для бэкенд-хранилища

  • Kubernetes (Red Hat OpenShift)

  • Portworx + KubeVirt и vSphere для частного облака

  • Python 3.12+

  • FastAPI

  • MongoDB

  • Redis

  • Elasticsearch, Logstash и Kibana (Elastic / ELK-стек)

  • Prometheus

  • Grafana

  • Jenkins

  • Slack

  • ChatGPT (используется для ИИ-триажа и суммаризации в Aetòs)

  • Open Policy Agent

  • И много кофе

Узнать больше

© 2026 meganuke