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-сценариев и более продвинутых политик балансировки трафика.
Предыдущая
Следующая