Обязанности:
Разработка сервисов для операций над кластерами БД и механизмов их координацииНа доступность кластера базы данных влияют такие факторы, как отказ железа, операции пользователя, сервисное обслуживание и прочие. Ваша задача — проектировать и развивать умные системы, которые, взаимодействуя и координируя свои действия между собой, будут оркестрировать проведение операций над кластером (обновления, миграции, бэкапы, процедуры отказоустойчивости и другие) таким образом, чтобы они проходили бесшовно для пользователей, гарантируя соблюдение SLA по доступности. Развитие IaaS-сервиса для управления парком из тысяч физических серверов
Наш аллокатор ресурсов должен эффективно использовать вычислительные мощности, сводя к минимуму дефрагментацию. В то же время сопутствующие операции (создание/изменение изолированных окружений, миграции данных между хостовыми машинами и т. д.) нужно выполнять быстро и надёжно. Разработка сервиса деплоя
Доставка изменений (бинарных артефактов, конфигураций, обновлений ОС) на сотни тысяч хостов (и их число постоянно растёт) требует нетривиальных решений в области масштабируемости. Вам предстоит улучшать и переосмысливать архитектуру нашего сервиса деплоя, чтобы он мог эффективно и предсказуемо справляться с кратным увеличением количества управляемых систем. Поиск и устранение узких мест в архитектуре с точки зрения надёжности, масштабирования и удобства сопровождения
Мы понимаем, что в сервисе, отвечающем за сохранность данных, фокус внимания должен быть направлен на надёжность. Поэтому вы будете участвовать в архитектурных сессиях, улучшать observability, проводить глубокий анализ производительности ключевых компонентов и внедрять лучшие практики для повышения отказоустойчивости всей системы. Мы же, в свою очередь, стараемся грамотно разбивать монолитные компоненты, мешающие развитию и поддержке сервиса, на изолированные микросервисы. Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Занимались промышленной разработкой на C++/Go/Java/Python и готовы перейти на Go
- Работали с реляционными базами данных
- Проектировали и разрабатывали отказоустойчивые, распределённые и масштабируемые сервисы
- Пишете надёжный код и сопровождаете его автотестами
- Не боитесь сложных инженерных вызовов и готовы погружаться в низкоуровневые детали систем, исследовать и решать нетривиальные проблемы
Дополнительные требования:
- Работали с распределёнными брокерами сообщений
- Умеете создавать сервисы end-to-end: от проектирования API и разработки до развёртывания, мониторинга и поддержки
- Знакомы с системами управления конфигурациями и оркестрации (Terraform, K8s)
- Разбираетесь в облачной инфраструктуре, мониторингах, конфигураторах
