YDB — это реляционная база данных. Распределённая, масштабируемая, отказоустойчивая. YDB ещё и платформа. Мы предлагаем пользователям не только надёжные транзакции поверх таблиц, но и готовые решения на основе самого движка: персистентные очереди, федеративные запросы, сетевые диски для виртуальных машин (Yandex Network Block Store) и др. YDB используется в Маркете, Такси, Финтехе, Алисе и других сервисах Яндекса. Мы уже умеем обрабатывать миллионы запросов в секунду и надёжно хранить петабайты данных. На базе YDB построены решения для доставки платёжных данных в биллинг Яндекса и хранения логов в Yandex Cloud. Команда автоматизации управления распределёнными системами занимается эксплуатацией YDB, тиражированием облаков, автоматизирует развёртывание БД (кластер по кнопке), разрабатывает внутреннюю платформу для нагрузочного тестирования и YDB as a service. Наша глобальная цель — сделать YDB максимально отказоустойчивой и масштабируемой. Чтобы ближе познакомиться с командой и тем, что мы делаем, можно задать 10 вопросов SRE!

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

Разработка отказоустойчивой инфраструктуры YDB и вокруг неё
Наши продукты постоянно развиваются, и мы масштабируемся вместе с ними, поэтому хотим запускать новые кластеры «по кнопке» и добиться zero downtime при миграции кластеров в Kubernetes. Вместе с этим мы создаём платформу для нагрузочного тестирования YDB (в том числе для переезда на процессоры AMD), внедряем практики IaC (Infrastructure as Code) при реализации CI/CD-процессов. А одна из наших недавних задач — развитие технических решений программно-аппаратного комплекса YDB, который включён в реестр ПАК. Создание Internal Developer Platform
Мы улучшаем внутреннюю инфраструктуру для разработчиков YDB, чтобы упростить их работу с базой данных, и делаем собственный Terraform Provider для разработки YDB as a Service в Yandex Cloud и внутри Яндекса. Создаём собственную систему деплоя на основе стратегии blue-green deployment для удобства разработчиков и минимизации рисков при внедрении новых фич. Миграция сервисов в Docker и Kubernetes
У YDB много особенностей, которые усложняют процесс миграции. Например, мы не используем файловую систему и работаем с дисками напрямую, как с блочными устройствами (поэтому мы сами управляем записью и чтением данных и гарантируем скорость и надёжность). Или для более равномерной нагрузки мы используем так называемую client-side-балансировку. Всё это потребовало разработки различных инструментов и сервисов. Kubernetes — один из них.

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

  • Умеете и хотите писать код на Go или Python (можно даже на С++)
  • Ориентируетесь в Linux на уровне администратора (например, Ubuntu или Debian, CentOS, Astra Linux)
  • Ориентируетесь в TCP/IP-модели, имеете представление о протоколах HTTP и gRPC

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

  • Работали с K8s, Terraform, Ansible
  • На базовом уровне знакомы с iptables