Разработчик в команду ядра сервиса Managed Databases в Yandex Cloud

Yandex Cloud Managed Services
Санкт-Петербург
Полная занятость

Описание

Мы — команда, которая строит фундамент для работы с данными в Yandex Cloud. Разрабатываемые нами решения используются в действительно больших системах с высокой нагрузкой и критичными требованиями к доступности.

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

Ищем талантливых и увлечённых разработчиков, готовых погрузиться в создание и развитие высокопроизводительной инфраструктуры вокруг популярных открытых СУБД.

Какие задачи вас ждут:
Разработка сервисов для операций над кластерами БД и механизмов их координации

На доступность кластера базы данных влияют такие факторы, как отказ железа, операции пользователя, сервисное обслуживание и прочие. Ваша задача — проектировать и развивать умные системы, которые, взаимодействуя и координируя свои действия между собой, будут оркестрировать проведение операций над кластером (обновления, миграции, бэкапы, процедуры отказоустойчивости и другие) таким образом, чтобы они проходили бесшовно для пользователей, гарантируя соблюдение SLA по доступности.

Развитие IaaS-сервиса для управления парком из тысяч физических серверов

Наш аллокатор ресурсов должен эффективно использовать вычислительные мощности, сводя к минимуму дефрагментацию. В то же время сопутствующие операции (создание/изменение изолированных окружений, миграции данных между хостовыми машинами и т. д.) нужно выполнять быстро и надёжно.

Разработка сервиса деплоя

Доставка изменений (бинарных артефактов, конфигураций, обновлений ОС) на сотни тысяч хостов (и их число постоянно растёт) требует нетривиальных решений в области масштабируемости. Вам предстоит улучшать и переосмысливать архитектуру нашего сервиса деплоя, чтобы он мог эффективно и предсказуемо справляться с кратным увеличением количества управляемых систем.

Поиск и устранение узких мест в архитектуре с точки зрения надёжности, масштабирования и удобства сопровождения

Мы понимаем, что в сервисе, отвечающем за сохранность данных, фокус внимания должен быть направлен на надёжность. Поэтому вы будете участвовать в архитектурных сессиях, улучшать observability, проводить глубокий анализ производительности ключевых компонентов и внедрять лучшие практики для повышения отказоустойчивости всей системы. Мы же, в свою очередь, стараемся грамотно разбивать монолитные компоненты, мешающие развитию и поддержке сервиса, на изолированные микросервисы.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

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

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

Похожие вакансии