
NOCDEV
Разрабатываем сервисы, обеспечивающие бесперебойную работу сетевой инфраструктуры всего Яндекса — от автоматизации ввода сетевого оборудования в эксплуатацию до обработки терабит трафика в секунду.
> 20 тыс.
автоматизированных сетевых устройств
тыс.+
сбалансированных сервисов
млн
сетевых пакетов в секунду
млн
обработанных правил фаервола
Возможности NOCDEV
Автоматизация
Создание сервиса для автоматизации наливки, ввода в эксплуатацию и поддержки десятков тысяч сетевых устройств различных производителей.
Обработка трафика
Обработка терабитов трафика в секунду в режиме реального времени, написание высокопроизводительных фаерволов, L3-балансировщиков трафика и др.
LB, FW, DNS as-a-service
Разработка сервисов для настройки балансировки трафика, предоставления сетевого доступа и функциональности доменных имён.
Мониторинг
Построение архитектуры для обработки миллионов сигналов со всех сетевых устройств и контроль работоспособности сети.
Эффективные решения
Команда сервиса разрабатывает, внедряет и поддерживает решения разных уровней сложности.
Вот некоторые из них.
Вот некоторые из них.
Автоматизация сетевых устройств

Сервис формирует низкоуровневую модель сети, которая предоставляется через единый API, из данных о дизайне сети и оборудовании. Системы автоматизации покрывают весь жизненный путь сетевого оборудования: от первоначальной настройки и обновления конфигурации до вывода из эксплуатации.
Особенности
- Базовый слой работоспособности инфраструктуры.
- Генерация vendor-agnostic модели и её преобразование в vendor-specific конфигурацию.
Технологии
- Разработка на Go, Python и PHP.
- GraphQL API как единый интерфейс для потребителей
Инфраструктура фаерволов

Сервис организует сетевые доступы для всего Яндекса, предоставляет пользователям удобный и безопасный механизм управления сетевыми правилами.Моделирование применения фаервольных правил предотвращает выход инфраструктуры из строя в случае отзыва доступов.
Особенности
- Заказ сетевых доступов as-a-service в пару кликов.
- CI/CD полокационной доставки правил, в которых каждый пять минут происходят изменения.
- Распределённая система предварительной валидации: 40 узлов, объединённых в кластер.
- Сборка сэмплов трафика со всего Яндекса для последующей валидации. Визуальный аудит и возможность откатывать правила.
Технологии
- Разработка ведётся на Go.
- Валидация 2 000 000 000 сетевых пакетов напротив 100 000 уникальных правил за пять минут.
- Кластер собирается через Zookeeper, нагрузка распределяется с использованием консистентного hashring.
- Интерфейс взаимодействия — HTTP и gRPC.
Мониторинг

Для мониторинга сети Яндекса используются проверенные наборы систем и компонентов. Сервис разрабатывает интерфейс подключения к оборудованию любого вендора и предоставляет его внешним сервисам автоматизации, что упрощает их разработку. NOCDEV также разрабатывает компоненты для сбора, обработки информации и поставки нормализованных метрик в системы анализа.
Особенности
- Разработка полного цикла сетевого мониторинга.
- Унификация интерфейсов взаимодействия с устройствами.
- Поставка 2 000 000 метрик в секунду в компоненты аналитики и визуализации.
- Автоматическое поддержание актуальности 15 000 000 алертов.
Технологии
- Разработка новых систем ведётся на Go с использованием gRPC для межсервисного взаимодействия.
- Осуществляется поддержка большинства способов взаимодействия с устройствами получения сетевых метрик: SNMP, netconf, gNMI.
- Для части проектов разработка происходит в Open Source.
YANET

Фреймворк для высокопроизводительной программной обработки трафика со скоростью 400+ Гбит/с. Реализованы функциональности фаервола, L3-балансировщика, NAT64, туннелятора, декапсулятора.
Особенности
- Работа с сетевой картой напрямую, минуя Linux Kernel.
- Обработка трафика со скоростью более 5 Тбит/с и 900 миллионов сетевых пакетов в секунду.
- Система реального времени.
- Суммарное количество правил фаервола превышает 300 000 000. Поиск правила для отдельного сетевого пакета осуществляется за O (1).
Технологии
- Написан на современном C++ с использованием фреймворка DPDK.
- Разработка ведётся в Open Source.
Технологический стек
Работаем с широким спектром технологий и языков, чтобы быстро и эффективно решать задачи.
C/C++
Эффективное решение для ситуаций, в которых производительность стоит на первом месте или есть необходимость работать как можно ближе к «железу». Также используется при разработке ядра Linux или его модулей.
Rust
Когда важны максимальная производительность и гарантии надёжности, которые предоставляет этот язык.
Go
Обеспечивает читаемость, быстроту написания кода, лёгкость в распараллеливании и приемлемую производительность.
Python
Основной язык для фреймворка автоматизации, а также для написания скриптов и небольших программ.
Выступления экспертов NOCDEV
Делимся с сообществом знаниями и опытом и рассказываем, как у нас всё устроено.

Как удобно жить на железе в 2к24 базовой инфраструктуре
Yandex Infrastructure 2024: как организуется инфраструктура без циклических зависимостей на k8s.

Балансировка трафика на базе DPDK
Конференция NextHop 2022: как мы реализовали L3-балансировщик на DPDK.

Про фаервол на YANET
Конференция NextHop 20221: как реализован фаервол на DPDK и чего это стоит.
Как попасть в NOCDEV
В NOCDEV есть задачи для разных технических специалистов. Нужны как амбициозные middle-разработчики и опытные ведущие инженеры, так и активные технические менеджеры.
Вы также можете попробовать свои силы в формате буткемпа в Core Infrastructure.