Свяжитесь напрямую по этой вакансии
Разработчик на Go в команду Detection & Response Yandex Cloud Security
Мы ищем Go-разработчиков для работы над сервисами и инструментами направления Detection & Response в Security Team Yandex Cloud. Мы только в самом начале пути — поэтому ещё не успели обрасти техническим легаси. У нас есть два похожих, но немного различающихся направления:
Соответственно, слегка различаются и точки приложения усилий. В первом случае мы делаем упор на большие объёмы данных и сложные процессы работы с ними, а во втором нас волнует архитектурное масштабирование.
Сервисы информационной безопасности для Yandex Cloud обрабатывают десятки и сотни тысяч объектов в секунду, складывают петабайты данных в хранилище и производят поиск по ним. Эти сервисы используют и киберзащитники Yandex Cloud, и его клиенты. Мы создаём системы, прикладное наполнение к которым разрабатывают эксперты по защите крупных инсталляций. Чтобы эксперты могли отдельно от программистов наполнять системы знаниями, мы предоставляем им набор DSL для решения специфических ИБ’шных задач. Наши системы — это фактически движок, который управляется скриптами на нескольких языках.
Что мы предлагаем:
Подписывайтесь на телеграм-канал Inside Yandex Cloud, чтобы узнать больше про нашу команду и технологии!
Создание компиляторов узконаправленных DSL для различных этапов обработки данных Наши сервисы построены вокруг непрерывных (и бесконечных) процессов сбора и анализа больших потоков данных. Обработка этих данных проходит в несколько этапов, и на каждом из них постоянно появляются новые форматы, новые типы и новые интересующие нас комбинации. Поскольку данные меняются чаще, чем компонент, обрабатывающий их, мы создаём язык для каждого этапа обработки. Каждый этап имеет свои особенности и должен хорошо масштабироваться; соответственно, DSL для всех этапов обработки разные. У нас три своих языка и популярный KQL.
Разработка архитектуры для распределённых масштабируемых кластеров обработки данных Нам необходимо обрабатывать большие потоки данных, при этом сохраняя изолированность данных всех клиентов друг от друга и поддерживая автоматическое масштабирование при росте количества клиентов Yandex Cloud. Такой сервис должен тратить предсказуемое и поддающееся ограничению количество ресурсов.
Здесь пригодится умение дизайнить компактные, понятные и соответствующие принятым в организации конвенциям gRPC API, которым придётся минимально эволюционировать в будущие годы развития системы.
Исследования для выбора оптимальных алгоритмов и структур данных и их применение в разработке Для сбора потока данных в правильную, выстроенную по времени структуру данных нужно правильно выбрать её и эффективно собирать картинку со временной осью из входящего потока. Крайне маловероятно, что решение «в лоб» будет эффективным. Перед тем как начинать писать код, придётся провести несколько экспериментов, осуществить замеры на разной нагрузке и выбрать самое эффективное решение.
Задачи обработки больших потоков данных Наши сервисы должны выполнять эффективный поиск по петабайтам данных, масштабироваться на ходу без рестарта, автоматически увеличивать и уменьшать количество серверов в кластере обработки в зависимости от нагрузки и работать 24/7 без простоев.
Придётся научиться проектировать сервисы таким образом, чтобы они не съели все вычислительные ресурсы Вселенной для запроса на неразумные объёмы данных с неразумным фильтром по неразумному временному интервалу. Пример задачи: создать способ одновременно читать сотни ТиБ данных из одного источника за раз несколькими параллельными запросами с разным приоритетом, обогащая их на лету и выдавая за предсказуемое время.
5 лет
Опыт работы
Полная занятость
Тип занятости
Гибрид, Офис
Формат работы
Middle
Грейд
Бэкенд
Специализация
IT & Tech
Отрасль
Корпорация
Тип компании
По городу
Бэкенд
Специализация
IT & Tech
Отрасль
Корпорация
Тип компании