Системный (программный) архитектор
Описание
Наш основной продукт - система анализа сетевого трафика и защиты от сетевых атак собственной разработки. Мы помогаем нашим клиентам сделать их бизнес неуязвимым к сетевым DDoS-атакам, а также повысить доступность услуг. Сейчас на новые крупные проекты мы ищем Системного (программного) архитектора с желательным опытом проектирования inline/out-of-path систем защиты на магистральных сетях, понимающий BGP (FlowSpec), MPLS, геораспределённую кластеризацию и синхронизацию состояния в условиях высокой задержки, способный прогнозировать производительность кластера узлов на 100+ Gbps на узел и обеспечить автоматический отвод трафика при сбоях с сохранением сессий. Знание программной инженерии, системный подход к проектированию высоконагруженных программных систем, понимание подходов к проектированию потоков данных, программного взаимодействия, интерфейсов обмена и обработки данных, архитектуры современных вычислительных систем и систем обработки информации. Точно нужно уметь/знать: Проектировать информационную систему и упаковывать её в продукт, включая UML/DFD/CDM. Системное мышление: баланс между latency, throughput и cost. Коммуникация: работа с командой разработки, DevOps, аналитиками по ML. Документирование: ADR (Architecture Decision Records), threat model, разбор incidentов. Готовность к code review и созданию тестовых сред (simulated трафик, replay атак). Стек: OSS-библиотеки (DPDK, libpcap — только как fallback, Suricata Hyperscan, OpenSSL/BoringSSL, etc.). Архитектурное решение: лицензионная чистота (GPL/LGPL/BSD/MIT — допустимые), контейнеризация (Docker + containerd), оркестрация Kubernetes без vendor lock-in. Сборка: публичный CI (GitLab CI / Jenkins) с воспроизводимой сборкой. Языки: C (обязательно, как основа DPDK и высоконагруженных модулей), Rust или Go (для безопасных компонентов управления). ОС: Linux, настройка ядра (изоляция CPU, huge pages, XDP/eBPF — как плюс). Модульность: проектирование расширяемой архитектуры с чёткими интерфейсами между модулями (например, захват → предобработка → детекция → ML → логирование/блокировка). Нужно быть в курсе, а лучше быть глубоко погруженным: Знание eBPF и XDP как альтернативы/дополнения к DPDK. Понимание гомоморфного шифрования или TEE (SGX/SEV) для защиты ML-моделей. Кластерные СУБД: PostgreSQL, MariaDB с шардированием, Tarantool или ClickHouse. Реализация продукта (или крупного модуля) с использованием DPDK в продакшене (от 10+ Gbps на одном узле). Опыт проектирования систем обнаружения вторжений (Suricata, Snort — их архитектура должна быть понятна, даже если не используется код). От 3 лет системного/сетевого программирования + от 2 лет на позиции архитектора. Понимание модульной архитектуры программного комплекса. Чёткое выделение модулей: перехват, декодирование протоколов, сигнатурный движок, ML-детектор, управление политиками, аудит. Слабое связывание через очереди и API. Горизонтальное масштабирование (например, RSS + DPDK с разделением потоков). Понимание архитектуры «облачной» сигнализация для обеспечения взаимодействия компонентов точка-точка, точка-многоточка, фулмэш. Применение сигнализации для кластеризации продукта. Асинхронная интеграция: очереди, event sourcing, гарантии доставки (at-least-once, exactly-once). Умение прогнозировать пропускную способность (Gbps, Mpps), латентность, требования к памяти, требование к вычислительным ресурсам. Профилирование (perf, Intel VTune), Понимание Stateful failover (синхронизация сессий при сбое), Понимание Graceful degradation под нагрузкой. Понимание защиты от утечек через ML-модели, контроль целостности модулей, изоляция компонентов. Понимание современных протоколов: gRPC, REST, WebSockets, Protobuf/FlatBuffers (для эффективной сериализации). Опыт с P4, Netronome Agilio, FPGA для ускорения. Сторонние системы: SIEM, SOAR, Threat Intelligence Feeds (STIX/TAXII), Active Directory, API управления. Роль ML в архитектуре: детекция аномалий, классификация трафика, снижение ложных срабатываний, прогнозирование состояний сети/трафика. Интеграция моделей: умение проектировать сервис/модуль для инференса (ONNX Runtime, TensorFlow Lite, самописные рантаймы) в реальном времени. Особенности: деплой модели без остановки системы, A/B тестирование правил/моделей, конвейер фич из сырого трафика. Проектирование схем хранения: метаданные атак, статистика, конфигурации правил. Партиционирование, репликация, асинхронная запись, очереди сообщений (Kafka / NATS) для развязки детектора и хранилища. Весьма приветствуются расширенные знания: BGP : проектирование взаимодействия системы защиты с операторской сетью через BGP FlowSpec (RFC 5575, 8955) для динамического вброса правил фильтрации/редиректа трафика. BGP VPNv4/v6, RT/RD для изоляции клиентских сегментов. MPLS: понимание LDP, RSVP-TE, MPLS TE для направления трафика через защищённые узлы. Политики маршрутизации: PBR (Policy-Based Routing) на больших объёмах, ECMP с учётом асимметричной маршрутизации. Геораспределённая кластеризация: синхронизация сессий и метаданных между узлами защиты в разных точках присутствия (PoP) с учётом задержек до 50+ мс. eventual vs strong consistency для блок-листов и правил ML. Anycast: публикация одного IP для сервиса защиты (например, очистка трафика от DDoS) через BGP Anycast. управление аффинитетностью клиентов (source-destination stickiness). Фабрики пакетной обработки: понимание VXLAN, EVPN для stretch-кластеров. Inline-режим на магистрали: работа с netconf/gNMI для управления forwarding-таблицами соседних маршрутизаторов (Juniper, Cisco, Nokia, а также OSS-маршрутизаторы типа FRRouting / GoBGP). обработка асимметричного трафика (inbound через один узел защиты, outbound — через другой) без потери контекста. Out-of-path (tap / SPAN) + PBR/FlowSpec — как резервный сценарий. проектирование кластера из узлов с DPDK, агрегирующих трафик 400+ Gbps (типовой магистральный линк). балансировка потоков по узлам защиты на основе L2–L4 хэша (RSS, симметричный хэш). Packet Broker архитектура: возможность стыковки с open source решениями (PacketFabric, Open vSwitch с DPDK) для фильтрации и репликации трафика. sFlow/NetFlow/IPFIX агрегация с самих узлов защиты для обнаружения аномалий. интеграция с Prometheus + Thanos/Cortex (многокластерный мониторинг). GMPLS / SDN контроллеры: знание OpenFlow, но важнее — опыт с ODL (OpenDaylight) или ONOS для динамического изменения маршрутизации через защиту. RAFT (для управления конфигурацией) + CRDT (для синхронизации счётчиков и блок-листов). Условия: Интересные задачи/ крупные проекты; Полностью белая зарплата; достойный оклад (зависит от уровня скиллованности кандидата); Ежегодная индексация заработной платы; Доплата за стаж работы в компании; Премии к юбилею работника; ДМС за счет компании (включая стоматологию); Офис в шаговой доступности от метро/мцк Автозаводская; Корпоративные праздники, досуг, дружный коллектив профессионалов; Профессиональный рост; График 5/2 с 9:00 до 18:00; Комбинированный режим работы: офис + удаленка.