Команда разрабатывает и внедряет решения для работы с данными от физического уровня до инструментов для пользователя:

 

  • S3-совместимое объектное хранилище

  • Сетевые диски для виртуальных машин

  • Очереди сообщений или сервисы по управлению базами данных PostgreSQL и многое другое

 

Наша задача — отвечать на вопросы о хранении и обработке данных в облаке. Мы знаем, как работать с данными в любых сценариях, где можно использовать готовые решения, а где нужно разрабатывать свои.
 

У нас распределённая команда — сотрудники могут работать из любой точки России. Для тех, кто предпочитает офисную работу, есть офисы в крупных городах страны. Для управления задачами мы используем JIRA, а в качестве базы знаний — Confluence или README в коде.
 

Технологии хранения данных в MWS

Доклад Дмитрия Черемухина на МТС True Tech Day

Рассказываем, как мы разрабатываем новое облачное хранилище данных. Объясняем, какие задачи стоят перед проектируемыми системами и как выбираем технологии: когда изобретать новое, а когда использовать проверенные open source-решения.

Стек

Наши сервисы многокомпонентные, поэтому на разных уровнях требуются свои подходы к реализации:

Технологии

  • Cамые высокопроизводительные части написаны на C или C++
  • Промежуточный код оркестрации и высокопроизводительные веб-сервисы пишем на Go
  • Для реализации единообразного публичного API облака используем общие фреймворки Java/Kotlin

Управление кодом и CI/CD

  • Код храним в Git
  • Проводим ревью и запускаем CI на GitLab
  • Деплой в Kubernetes

КОГО МЫ ИЩЕМ

Какие задачи вас ждут
Какие задачи вас ждут
  • Заниматься backend-разработкой, которая содержит сложные процессы оркестрации взаимозависимых сущностей в рамках модели облака
  • Разрабатывать распределённые системы хранения данных и оркестрационные сервисы для них
  • Работать над инфраструктурой сборки и тестировать распределённые системы
  • Исследовать и измерять производительность хранилищ;
  • Разрабатывать высоконагруженные веб-сервисы;
  • Разрабатывать низкоуровневые компоненты системы, которые обеспечивают взаимодействие хранилища и виртуальных машин, а также хранение данных;
  • Работать над observability и релизными процессами.
Мы рассчитываем, что вы
Мы рассчитываем, что вы
  • Хорошо знаете один из языков: Go, Java/Kotlin, C++ — и готовы изучить как минимум ещё один из них
  • Уже строили и поддерживали отказоустойчивые системы
  • Имеете опыт работы с базами данных
  • Уделяете внимание качеству системы: документации, написанию тестов, читаемости кода, observability всех компонентов
  • Интересуетесь облачными технологиями и технологиями хранения данных в частности и готовы их изучать
  • Уверенный пользователь Linux, особенно из консоли

 

Будет плюсом, если вы:

 

  • Обладаете экспертизой в разработке и эксплуатации систем хранения
  • Имеете опыт работы с большими облаками (AWS, Azure, GCP, Yandex Cloud) и с Kubernetes
/ Забота о сотруднике

Мы предлагаем

Удобный формат работы: гибридный или удалённый из любой точки России

Расширенный полис ДМС со стоматологией и страхованием от несчастных случаев

Три дополнительных дня отпуска в год

Компенсацию мобильной связи, подписок на сервисы МТС

Компенсацию обучения и посещения конференций

Вопросы и ответы

Вы используете Ceph?

Частично. Ещё мы инвестируем в собственные решения по оркестрации Ceph в Kubernetes. Некоторые проекты требуют расширений функционала, поэтому мы строим инфраструктуру для разработки и команду, которая может контрибьютить в его кодовую базу

Ваши диски — это прокси над Ceph RBD?

Не только. Современное облако предоставляет диски с разными показателями производительности, надёжности и цены. Для реализации разных классов хранения мы используем разные технологии, включая Ceph RBD, и работаем над другими подходами для более производительных сценариев

Ваш Object Storage — это Ceph Rados Gateway?

Нет, мы разрабатываем свою реализацию объектного хранилища, а Сeph используем только как базовый слой хранения через librados

Как проходит собеседование в команду?

Собеседование состоит из нескольких этапов:

  1. Разговор с рекрутером. Обычно занимает до 30 минут.
  2. Техническое интервью. Обычно занимает 60 минут, но рекомендуется зарезервировать 90 минут.
  3. Архитектурное интервью. Для кандидатов уровня senior+, обычно занимает 60 минут, но рекомендуется зарезервировать 90 минут.
  4. Финальное интервью. На нём можно познакомиться с разными командами и выбрать понравившееся направление.
Алексей Баранов

Алексей Баранов

Руководитель направления

Написать в Telegram

«Мы занимаемся облачными сервисами хранения и аналитики данных. Используем известные open source технологии и разрабатываем собственные системы: от взаимодействия с железом до распределённых алгоритмов и оркестрации кластеров. Ищем в команду разработчиков и SRE, которым интересны распределённые системы и задачи хранения и обработки больших данных»

SRE-инженер Ceph [Storage]

Ищем инженера, который будет работать с Ceph, k8s, Linux, IPv6, Golang, Python, строить системы блочного хранения MWS, разрабатывать объектное хранилище и публичные S3-сервисы

Senior Java/Kotlin-разработчик [Storage Management Plane]

Ищем разработчика, которому интересно разрабатывать и поддерживать надёжные, высоконагруженные и масштабируемые сервисы

Senior Java/Kotlin-разработчик [Data Platform]

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