Наша команда разрабатывает
Нирвану — группу инфраструктурных сервисов всего Яндекса и вычислительную платформу для выполнения произвольных пользовательских процессов. Нирвана начиналась
так, а сейчас состоит из нескольких сервисов:
- Nirvana — графовый движок, где пользователи описывают вычислительные операции (или выбирают готовые из палитры) и собирают из них графы вычислительных процессов. Ближайший аналог — Apache NiFi
- Reactor — система регулярного и событийного запуска пользовательских процессов — реакций, в том числе поверх Нирваны
- Domain Constructor — удобные пошаговые формы (и не только) для запуска графов
- Valhalla — Python-библиотека для удобного описания операций, графов, реакций, тестов и т. п., в которой разработчикам приятно творить
- Layer service — сервис по сборке, поиску и оптимизации контейнерных образов. Ближайший аналог — Docker Hub
Контейнеры в Нирване используются для изолированного запуска пользовательских задач на кластере. В день в Нирване происходит несколько миллионов запусков от тысячи различных пользователей. Любая инфраструктурная оптимизация на таком масштабе даёт существенную экономию.
Сейчас мы решили сконцентрироваться и развивать Layer service: он уже умеет собирать образы по пользовательским конфигурациям и раскладывать их в локальные кеши вычислительных узлов на кластере. Мы хотим подсказывать Layer service:
- Как вместо сборки нового образа переиспользовать готовый образ коллеги
- Как собрать оптимальный образ, чуть изменив близкий образ коллеги
- Из каких файлов состоит собранный образ и какого они размера
- Какой случайный мусор (вроде логов aptitude) можно выбросить из образа
Хотим научить сервис ещё лучше выбирать набор образов для кеширования на вычислительных узлах. Хотим дать пользователю возможность просто перечислить список необходимых пакетов и модулей, чтобы система сама нашла готовый образ или предложила дособрать недостающую часть.
Для решения этих и подобных интересных задач мы ищем разработчика уровня middle или senior на Python или Go. Приходите, если готовы присоединиться к нашей команде и, как говорят в Яндексе, начать на регулярной основе приносить компании непоправимую пользу новым сервисом.
В нашей команде разработчики бэкенда и фронтенда, менеджер и дизайнер. В основном все в Петербурге.