Старший Java разработчик Registry-систем в Yandex Cloud
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
Мы строим платформу для создания Registry-систем, интегрированных с Yandex Cloud. Мы уже умеем хранить, распространять и анализировать Docker-образы, работаем над поддержкой deb-пакетов, а в будущем планируем поддерживать jar, npm и другие типы артефактов.
Registry-системы — это набор микросервисов на Java/Kotlin. Для быстрого их создания мы делаем общие компоненты для хранения данных, логов, метрик, квот и решения других базовых задач. При этом у нас очень высокие требования к надёжности и выживаемости системы в случае возникновения проблем.
Наши пользователи — SRE и разработчики. По сути на базе наших систем выстроен релизный процесс Yandex Cloud, а внешним пользователям сервисов важна высокая доступность Registry-систем. Нагрузка на Container Registry растёт каждый год в 3–4 раза, а большинство пользователей приходит из Managed Service for Kubernetes в Yandex Cloud.
Ещё мы анализируем уязвимости в хранимых нами артефактах. Например, в публичном доступе есть сервис анализа уязвимостей в Docker-образах, идентичный как для внутреннего, так для внешнего использования. Совсем скоро мы планируем внедрить этот сервис во все процессы выкладки релизов Yandex Cloud, а в дальнейшем будем анализировать и другие типы артефактов для пользователей.
Что нужно делать:
- разрабатывать платформу для создания Registry-систем на Kotlin. Мы планируем использовать корутины и выстроить систему в неблокирующем стиле. Сначала на базе этой платформы запустим Debian Registry, а потом переведём на неё сканер уязвимостей и Docker Registry;
- стабилизировать существующий сканер уязвимостей Docker Images и поддерживать другие типы артефактов, внедрить сканер во внутренние процессы Yandex Cloud, ускорить анализ артефактов и увеличить количество разных типов проверок;
- сделать Registry-системы ещё удобнее, а Container Registry — популярнее за счёт синхронизации артефактов с приватными пользовательскими репозиториями;
- автоматизировать деплой сервисов в новых локациях. По сути это отдельный набор компонентов для поддержки деплоя, мониторинга, логов, дашбоардов и других аспектов эксплуатации сервисов.
Ожидания от кандидата
- умеете писать код на Java и Go, проектировать и обсуждать решения;
- знаете работу сетевого стека;
- понимаете, как работают современные операционные системы.
Условия работы
- сильная команда, с которой можно расти;
- возможность влиять на процесс и результат;
- зарплата на уровне рынка и выше;
- ипотечные программы;
- гибкий график работы;
- программа релокации для иногородних сотрудников в РФ.