Разработчик на С++ сетевого блочного устройства в Yandex Cloud
Вы будете участвовать в развитии Yandex Network Block Storage (NBS) — сетевых дисков Yandex Cloud. Это базовый слой хранения для виртуальных машин: практически все пользователи Compute Cloud, которые запускают ВМ, используют диски NBS.
NBS предоставляет надёжные thin‑provisioned блочные устройства, которые подключаются к виртуальным машинам по сети, поддерживают снимки (snapshots) и рассчитаны на работу в отказоустойчивой распределённой инфраструктуре. В основе NBS — реализация Network Block Device поверх YDB BlobStorage.
На платформе есть несколько типов сетевых дисков — они отличаются профилями производительности и оптимизированы под разные сценарии: по latency, throughput и IOPS (от более экономичных вариантов до высокопроизводительных).
Мы ищем инженера в группу быстрых сетевых дисков — команду, которая разрабатывает новый тип дисков с прицелом на sub‑millisecond latency.
Задачи и обязанности
Развитие Yandex Network Block Storage
Вам предстоит развивать новую версию сетевых дисков, добиваться sub-millisecond latency и >100k IOPS.
Оптимизация производительности
Вы будете повышать отказоустойчивость распределённой системы, обеспечивать стабильную работу при сбоях, а также оптимизировать потребление ресурсов, необходимых для работы блочного устройства и для надёжного распределённого хранения данных.
Проектирование компонентов Network Block Storage
Вы станете улучшать архитектуру и эксплуатацию системы, работающей на нескольких тысячах серверов, развивать cell-архитектуру, распределять данные и нагрузку между доменами отказа.
Работа с памятью
Кроме того, понадобится работать с RDMA, оптимизировать datapath для минимальных задержек и высокой пропускной способности.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Хорошо знаете С++
- Знаете классические алгоритмы и структуры данных, умеете применять их
- Понимаете парадигму многопоточности, знакомы с основными подходами, проблемами и ограничениями
- Разрабатывали высоконагруженные, распределённые, близкие к железу сервисы или сервисы реального времени
Условия
- сильную команду, с которой можно расти;
- сложные задачи для сервисов с миллионами пользователей;
- возможность влиять на процесс и результат;
- зарплату на уровне рынка и выше;
- премии каждые полгода для всех, кто работает эффективно;
- гибкий график работы;
- ипотечные программы под 3% на 10 лет или без процентов на 3 года;
- компенсацию затрат на питание на территории офиса;
- расширенную программу ДМС: оплату 80% стоимости ДМС для супругов и детей;
- спортзал, тренажёрный зал, йогу в офисе;
- парковку для сотрудников.