О продукте и команде:
Мы создаем и развиваем решение Basis SDN для организации программно-определяемых сетей на основе открытых технологий Open vSwitch (OVS) и OVN (Open Virtual Network). Basis SDN предоставляет расширенные возможности для централизованного управления и сегментации виртуальных сетей, определения параметров безопасности, а также обеспечения подключений к внешним и внутренним сетям облачных ресурсов.
Ключевая задача:
Разработка, расширение и оптимизация Basis SDN. Вы будете работать над логикой управления сетью, которая транслирует высокоуровневые политики в низкоуровневые конфигурации OVS и OVN.
Разработка на Golang контроллера для управления OVS/OVN;
Участие в проектировании и реализация логики взаимодействия с OVSDB (протокол OVSDB Management Protocol) и Southbound DB OVN для управления коммутаторами, портами, маршрутами и ACL;
Разработка компонентов для трансляции сетевых политик (Security Groups, Network Policies, Load Balancing) в конфигурацию OVN Logical Flows и OVS Pipeline;
Создание и оптимизация механизмов для работы с распределенными виртуальными маршрутизаторами (OVN Logical Routers), шлюзами и overlay-сетями (VXLAN, Geneve, STT);
Написание модулей для сбора телеметрии и метрик работы OVS/OVN (например, через ovs-appctl, ovs-ofctl);
Проектирование архитектуры, код-ревью, написание unit- и integration-тестов, документирование кода.
Что мы ожидаем:
Опыт разработки на Go от 2-х лет;
Глубокое понимание архитектуры и компонентов OVS и OVN:
OVS: datapath, vswitchd, ovsdb-server
OVN: Северная (Northbound DB) и Южная (Southbound DB) базы данных, ovn-northd, ovn-controller
Практический опыт работы с OVSDB Management Protocol (RFC 7047) или готовность быстро его изучить;
Понимание принципов построения overlay-сетей и знание технологий VXLAN, Geneve;
Отличное знание сетевых основ: L2/L3, VLAN, ARP, ICMP, TCP/IP;
Опыт работы в Linux-среде, уверенное владение командной строкой и сетевыми утилитами;
Умение работать с Git, понимание практик CI/CD.
Будет плюсом:
Знание протокола OpenFlow и опыт анализа потоков (flows) в OVS (ovs-ofctl);
Опыт разработки CNI-плагинов для Kubernetes;
Участие в open-source проектах, связанных с OVS, OVN, OPNFV, Tungsten Fabric и т.д.;
Опыт профилирования и оптимизации производительности сетевых данных (dataplane) в OVS (например, с помощью DPDK);
Навыки работы с системами мониторинга: Prometheus, Grafana.