AWACS — система управления трафиком
Язык буткемпа: Go, Python
Технологии: MongoDB
Система управления доставкой трафика предоставляет разработчикам Яндекса управление трафиком как продукт — позволяет по кнопке заводить полноценную ферму балансировки, которая поддерживает основные протоколы, управлять ею через api/UI, взаимодействовать со смежными компонентами инфраструктуры (мониторинг, логирование, rate limiting, управление DNS и т. д). Наши пользователи — сотни команд Яндекса, среднее количество запросов, обрабатываемых балансерами, развернутыми во внутреннем облаке, превышает 12M RPS.
Основной фокус команды — сделать управление трафиком простым и интуитивно понятным, не жертвуя при этом его функциональностью и надежностью.
Стек
Python 3 | Ядро сервиса и большая часть микросервисов |
---|---|
Go | Ряд микросервисов |
MongoDB, Zookeeper | Для хранения конфигураций |
Команда
Полностью распределенная команда (Москва, Санкт-Петербург, Екатеринбург, Воронеж, Ереван, Белград) — шесть человек (четыре бэкенд-разработчика, фронтенд-разработчик, ТПМ). Мы придерживаемся принципа «You build it — you own it», а значит разработчики самостоятельно решают задачи тестирования, эксплуатации, поддержки.
Особенности
- Большая зона влияния — практически все сервисы используют для управления трафиком нашу систему, делая её критически важной для компании.
- Сложная предметная область, которая позволяет значительно прокачать свои навыки.
- Возможность работать с техническими экспертами высокого уровня как внутри команды, так и среди ключевых смежников.
- Интересные задачи — большое количество возможностей проявить себя и подхватить направление работ или подсистему.
Что нужно принять во внимание
- Сложная предметная область из-за чего дежурства иногда проходят интенсивно. Мы сами следим за работоспособностью собственного продукта, а также отвечаем на запросы пользователей во внутренней поддержке. Дежурство проходит в рамках рабочего дня. Ночью и по выходным не дежурим, только если ситуация не форс-мажорная.
- Нужно любить не только программировать, но и погружаться в проблемы пользователей.
Вызовы
- Сделать сложную предметную область простой для наших пользователей.
- Создание единой деплойной платформы, отвечающей за полный цикл настройки и эксплуатации сервисов Яндекса.
- Поддержка новых сценариев настройки и эксплуатации — интеграция с service mesh, поддержка grpc-сценариев и более продвинутых политик балансировки трафика.