улица Льва Толстого 16
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