Мы — команда, которая строит фундамент для работы с данными в Yandex Cloud. Разрабатываемые нами решения используются в действительно больших системах с высокой нагрузкой и критичными требованиями к доступности. Ключевым направлением является построение и развитие control plane — инфраструктуры, автоматизирующей весь жизненный цикл баз данных: создание, настройку, масштабирование и обслуживание. Наши задачи лежат на стыке инфраструктуры и продукта: от разработки сервисов, координирующих операции на хостах баз данных, до автоскейлинга кластеров БД. Ищем талантливых и увлечённых разработчиков, готовых погрузиться в создание и развитие высокопроизводительной инфраструктуры вокруг популярных открытых СУБД.

Обязанности:

Разработка сервисов для операций над кластерами БД и механизмов их координации
На доступность кластера базы данных влияют такие факторы, как отказ железа, операции пользователя, сервисное обслуживание и прочие. Ваша задача — проектировать и развивать умные системы, которые, взаимодействуя и координируя свои действия между собой, будут оркестрировать проведение операций над кластером (обновления, миграции, бэкапы, процедуры отказоустойчивости и другие) таким образом, чтобы они проходили бесшовно для пользователей, гарантируя соблюдение SLA по доступности. Развитие IaaS-сервиса для управления парком из тысяч физических серверов
Наш аллокатор ресурсов должен эффективно использовать вычислительные мощности, сводя к минимуму дефрагментацию. В то же время сопутствующие операции (создание/изменение изолированных окружений, миграции данных между хостовыми машинами и т. д.) нужно выполнять быстро и надёжно. Разработка сервиса деплоя
Доставка изменений (бинарных артефактов, конфигураций, обновлений ОС) на сотни тысяч хостов (и их число постоянно растёт) требует нетривиальных решений в области масштабируемости. Вам предстоит улучшать и переосмысливать архитектуру нашего сервиса деплоя, чтобы он мог эффективно и предсказуемо справляться с кратным увеличением количества управляемых систем. Поиск и устранение узких мест в архитектуре с точки зрения надёжности, масштабирования и удобства сопровождения
Мы понимаем, что в сервисе, отвечающем за сохранность данных, фокус внимания должен быть направлен на надёжность. Поэтому вы будете участвовать в архитектурных сессиях, улучшать observability, проводить глубокий анализ производительности ключевых компонентов и внедрять лучшие практики для повышения отказоустойчивости всей системы. Мы же, в свою очередь, стараемся грамотно разбивать монолитные компоненты, мешающие развитию и поддержке сервиса, на изолированные микросервисы. Больше о бэкенде в Яндексе — в канале Yandex for Backend

Ключевые навыки:

  • Занимались промышленной разработкой на C++/Go/Java/Python и готовы перейти на Go
  • Работали с реляционными базами данных
  • Проектировали и разрабатывали отказоустойчивые, распределённые и масштабируемые сервисы
  • Пишете надёжный код и сопровождаете его автотестами
  • Не боитесь сложных инженерных вызовов и готовы погружаться в низкоуровневые детали систем, исследовать и решать нетривиальные проблемы

Дополнительные требования:

  • Работали с распределёнными брокерами сообщений
  • Умеете создавать сервисы end-to-end: от проектирования API и разработки до развёртывания, мониторинга и поддержки
  • Знакомы с системами управления конфигурациями и оркестрации (Terraform, K8s)
  • Разбираетесь в облачной инфраструктуре, мониторингах, конфигураторах