April 17

Selectel Team: команда Дисков и Бэкапов

Сегодня приоткрываем дверь во внутреннюю кухню команды дисков и бэкапов. Поговорили с Андреем Шубиным, старшим разработчиком Selectel, и узнали, как устроены рабочие процессы, почему важно уделять время техдолгу и какие кейсы уже есть в копилке.

Чем занимается команда?

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

Если более предметно, то:

  • Развиваем программные решения для инфраструктурных облачных сервисов и хранилищ на базе OpenStack. Работаем с компонентами Cinder, Glance, Karbor.

Cinder управляет сетевыми дисками для ваших облачных серверов. Glance — это инструмент для создания и управления образами. Karbor же нужен для создания и управления планами бэкапов сетевых дисков.

  • Интегрируем диски, образы и бэкапы в компоненты для управления облаком.

Как построены рабочие процессы?

В команде есть продакты, бэкенды, фронтенды, тестировщики и UX-дизайнеры.

Каждый день мы собираемся на daily встречи и обсуждаем, что сделали за предыдущий день и кто что планирует на текущий. Если более масштабно, то работаем согласно нашему Roadmap по двухнедельным спринтам.

Технический долг для нас очень важен, поэтому с ним работаем регулярно. В стандартном флоу тратим на него 20% времени спринта.

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

Как происходит процесс разработки решений?

Когда фича готова с точки зрения продуктового описания, мы забираем ее в работу. Если для фичи нужен интерфейс, то сначала её прорабатывает UX-проектировщик. Затем бэкенд и фронтенд договариваются о формате взаимодействия и приступают к работе параллельно. Каждый из разработчиков покрывает фичу unit-тестами. После этого код уходит на ревью. Затем разработчики переводят фичу на staging, где ее забирает тестировщик и прогоняет уже через свои тесты. Если все ок, фича раскатывается.

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

Из успешных кейсов:

  • Ускорили бэкап для клиента в 3 раза. Если раньше на него требовалось 34 часа, то мы уместили в 11 (объем бэкапа 9ТБ). Об этом кейсе даже есть статья на Хабре;
  • Меньше года назад запустили файловое хранилище. На данный момент у нас более 600 файловых хранилищ, хотя изначально ожидалось 1-2 новых клиента в месяц.

Как проводим время вне работы?

Зимой выбирались на природу, заглядываем в бары. Играли в VR стрелялки. Еще устраиваем киновечера прямо в офисе и смотрим фильмы.

Почему у нас круто?

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