Уберизация фитнес-индустрии. Декатлон в Yandex Cloud

- Decathlon — французская сеть спортивных гипермаркетов, представлена в России с 2006 года и насчитывает 58 точек в 28 городах.
- Девиз компании — «Делать спорт доступным!».
- Задача компании — освоение новых цифровых возможностей и создание удобных инструментов для клиентов.
- Первым шагом в развитии Decathlon в России стал запуск сервиса All Do Yoga — агрегатора тренировок и онлайн-площадки для спортивного сообщества.
- Для реализации проекта выбрано Yandex Cloud, который предоставил необходимую инфраструктуру.
- При реализации проекта стояли задачи: разворачивание и управление инфраструктурой в концепции Infrastructure as a Code, поддержка высокой доступности геораспределённой среды production, возможность горизонтального масштабирования нагрузки, минимизация обслуживания баз данных и кластеров приложений Kubernetes, соответствие ФЗ-152.
- В стеке проекта используются сервисы Yandex Cloud: Object Storage, Container Registry, Network Load Balancer, а также L7 балансировщик Traefik, кластер Kubernetes, Managed Service for PostgreSQL, Managed Service for MongoDB, Managed Service for Redis.
- Конфигурация инфраструктуры описана с помощью Terraform.
- Перед запуском проводилось нагрузочное тестирование с помощью Яндекс.Танка, что помогло избежать проблем с нагрузкой на сервис.
- По итогам миграции все среды (development, staging, production) функционируют в Yandex Cloud, обеспечена поддержка высокой доступности и масштабируемости, обслуживание баз данных и кластеров Kubernetes осуществляется на стороне Yandex Cloud, данные обрабатываются и хранятся в соответствии с требованиями законодательства.
- Следующий шаг — запуск сервиса All Do Sport, который объединит тысячи фитнес-студий, тренеров и любителей спорта.
Территория доступного спорта
Decathlon (Декатлон)
Технологии для новой площадки
Первым шагом в развитии Декатлон Россия как глобальной спортивной платформы стал запуск сервиса для поиска тренировок All Do Yoga

Для реализации такого масштабного проекта команде важно сосредоточиться на функционале, будучи при этом уверенными в надёжности технологий и соблюдении требований по работе с персональными данными клиентов. Для строительства и запуска All Do Yoga было выбрано Yandex Cloud, которое предоставило инфраструктуру, соответствующую требованиям по хранению и обработке персональных данных.
С технической точки зрения при реализации проекта стояло несколько задач:
- Разворачивание и управление всей инфраструктурой в концепции Infrastructure as a Code — среды разработки (development), переноса (staging), производства (production). Основным инструментом для этого был выбран Terraform.
- Поддержка высокой доступности геораспределённой среды production.
- Возможность оперативного горизонтального масштабирования нагрузки без дополнительных капитальных затрат.
- Минимизация обслуживания используемых баз данных (PostgreSQL, MongoDB, Redis™) и кластеров приложений Kubernetes®.
- Соответствие ФЗ-152.
Описание через Terraform и нагрузочное тестирование
В этой статье:
Создание сервиса на стороне Декатлон Россия началось в 2018 году. В 2019 году development и staging были перенесены на различные облачные платформы в России и Европе. В июне 2019 года состоялась миграция в Yandex Cloud и запуск Production. Проект внедрялся совместными усилиями: со стороны компании Декатлон Россия участвовал ИТ-отдел проекта, со стороны Yandex Cloud — группа профессиональных инженерных услуг.
Главная сложность проекта заключается в наличии нескольких сред (development, staging, production) в разных фолдерах и разных сетях и в необходимости разделять доступ как на сетевом уровне, так и на уровне облака. Логика инфраструктуры продиктована требованиями безопасности, по которым логический и сетевой доступ к проектам Декатлон должны быть разграничены.
Среды development и staging идентичны production по составу сервисов, но находятся в одной зоне доступности. Production разнесён по трём зонам доступности. Сетевая нагрузка распределяется с помощью балансировщика Yandex Network Load Balancer. Стек включает:
- Yandex Object Storage
- Yandex Container Registry
- Yandex Network Load Balancer
- L7 балансировщик Traefik, собранный на базе сервиса Yandex Compute Cloud
- Кластер Kubernetes, собранный на базе сервиса Yandex Compute Cloud
- Managed Service for PostgreSQL
- Managed Service for MongoDB
- Managed Service for Redis™

При миграции конфигурация инфраструктуры была описана с помощью Terraform. Этот инструмент совместим с платформой Yandex Cloud (чтобы оценить удобство использования, перейдите к руководству Начало работы с Terraform) Разные проекты были описаны в разных репозиториях с использованием Terraform и Object Storage.
Перед запуском проводилось нагрузочное тестирование с помощью нашего инструмента с открытым исходным кодом Яндекс.Танк (образ доступен всем в Маркетплейсе Yandex Cloud). Яндекс.Танк обнаружил узкие места, и это помогло при запуске сделать так, что сервис не упал от нагрузки. Бесплатный сервис Overload
Кластеры Kubernetes развернуты самостоятельно, поверх сервиса Yandex Compute Cloud. Сценарий компании Декатлон внёс в сетевой стек Yandex Managed Service for Kubernetes необратимые улучшения, которые были представлены в общедоступной версии 1 октября 2019 на конференции Scale
Готовность к новым упражнениям
По итогам миграции были решены все поставленные задачи:
- Все среды (development, staging, production) функционируют в Yandex Cloud.
- Обеспечена поддержка высокой доступности среды production и возможность горизонтального масштабирования нагрузки без дополнительных капитальных затрат.
- Обслуживание баз данных PostgreSQL и кластеров Kubernetes происходит на стороне Yandex Cloud.
- Все данные обрабатываются и хранятся в соответствии с требованиями российского законодательства.
Сервисы Yandex Cloud обеспечивают работоспособность сайта под постоянно растущей нагрузкой. Таким образом, Декатлон может увеличивать посещаемость сайта All Do Yoga в десятки раз без потерь в скорости работы ресурса.
Следующим шагом станет расширение числа видов спорта и запуск сервиса All Do Sport, который объединит уже не сотни, а тысячи фитнес-студий, тренеров и любителей спорта.
Для платформы Yandex Cloud миграция сервисов Декатлон стала ещё одной успешной проверкой на готовность работать со сложной архитектурой и задачами крупных компаний.
