Улучшили инфраструктуру «Пятёрочки»
iOS
Android
Backend
Ритейл
Интро
Поработали над улучшением инфраструктуры и архитектуры серверной части, приняли участие в разработке основного мобильного приложения и сервиса доставки.
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fx5_1_2x_0dbc81229e.jpg&w=3840&q=75)
Задача
«Пятёрочка» — крупнейшая федеральная торговая сеть, огромный организм, который непрерывно расширяется и растет.
Решение
Наше сотрудничество с «Пятёрочкой» началось с небольшой, но важной задачи. Нужно было провести аудит инфраструктуры, служащей серверной частью для веб-сайта, мобильного приложения, программы лояльности.
Расскажем обо всем по порядку.
Провели аудит инфраструктуры
Мы провели аудит серверной части, выявили существующие проблемы и предложили DevOps-решения для улучшения инфраструктуры «Пятёрочки». На выходе предоставили заказчику документ, в котором:
Описали существующие проблемы и предложили DevOps-решения для их устранения
Дали рекомендации по организации работы DevOps-команды
Спрогнозировали пути развития и варианты масштабирования сервисов
Во время аудита поняли, что мы с заказчиком “слышим” и понимаем друг друга, в целом сотрудничаем эффективно, поэтому решили продолжить взаимодействие.
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fx5_2_2x_3b9afec6c6.jpg&w=3840&q=75)
Приложение «Пятёрочки», над которым мы работали
Усилили систему с помощью DevOps
Десантировали на проект трех DevOps-специалистов, которые шаг за шагом дорабатывали и улучшали инфраструктуру «Пятёрочки». В качестве списка задач взяли наш же аудит.
Оздоровили систему. Сделали так, чтобы она выдерживала большие нагрузки в пиковые часы. Настроили деплой сервисов в Kubernetes, Helm, Redis, Grafana, Kibana, чтобы мониторить показатели системы: трафик, пики и другие параметры.
Заголовок
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fteam_member_1_2x_0de0a8843d.jpg&w=1920&q=75)
«Было очень интересно прикоснуться к проекту, которым пользуются миллионы людей по всей стране каждый день.»
Разработали каталог товаров на backend
Команда заказчика планировала переход с монолита на микросервисную архитектуру. Мы вызвались помочь и с этой задачей. Начать решили с каталога.
Каталог должен был стать отдельным сервисом, который взаимодействует с монолитом. Нужно было спроектировать его так, чтобы он выдерживал большую нагрузку. У заказчика порядка 19 тысяч магазинов по всей стране, на каждую позицию есть своя цена, остаток, возможные скидки. При этом вся номенклатура в модуле каталога должна периодически синхронизироваться с другими учетными системами.
Каталог спроектировали, согласовали с инженерами Пятерочки и реализовали.
Написали его на Python 3 с использованием Elasticsearch.
Заголовок
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fteam_member_17_2x_bd28b1b762.jpg&w=1920&q=75)
«Это всегда очень интересно – погружаться в процессы большой компании, встраиваться в них и помогать улучшить. Мы горели этим проектом на протяжении года, ведь там всегда было чего поделать, – большой простор для деятельности. И мы рады тому, что наша работа помогла упростить процесс покупок для миллионов людей по всей стране.»
Улучшили основное приложение
Работали над главным экраном и всем, что связано с ним.
- Поучаствовали в редизайне
Работали по макетам «Пятёрочки». Занимались выстраиванием зависимостей, внедрением библиотеки компонентов.
- Стандартизировали блочную архитектуру
На проекте реализован блочный дизайн. Элементы визуально выглядят как блоки, и в коде отображаются в виде блоков. Механизм существовал до нашего прихода, но у команды не было единых правил и принципов написания новых блоков, что затрудняло разработку. Наш Android-лид Артур Артиков помог стандартизировать блочную архитектуру, написал документацию для проекта.
Модифицировали приложение доставки
В инфраструктуре «Пятёрочки» три модуля: общедоставочный, общепятерочный и модуль самого приложения доставки, который подключает два других. Мы работали со всеми тремя.
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fx5_3_2x_afc632a6f0.jpg&w=3840&q=75)
Приложение «Пятёрочка» Доставка
- Оптимизировали работу карт
Аудитория сервиса — 6 млн человек. Каждый запрос к картам Яндекса — деньги, которые тратит заказчик. Сократили количество запросов, чтобы оптимизировать ежемесячные расходы. Например, раньше приложение запрашивало у Яндекса полную информацию и координаты десяти выпадающих адресов, а теперь просит только ближайший адрес.
- Улучшили функциональность
Обновили приложение, доработали функциональность избранных товаров. Подключили аналитику, интегрировали Amplitude.
- Навели порядок в архитектуре
Сделали подмодули в основном модуле доставки. Когда команда разрастается, важно не мешать друг другу. Подмодули позволяют разработчикам вносить изменения одновременно. Модули также положительно влияют на время сборки приложения.
Заголовок
![](/_next/image?url=https%3A%2F%2Fcdn.mobileup.ru%2Fuploads%2Fteam_member_18_2x_2bb34622e8.jpg&w=1920&q=75)
«В определённый момент времени счёт за использование SDK карт Яндекса в Android-приложении стал слишком большой. Поэтому решили провести исследование, чтобы оптимизировать количество обращений. В результате удалось выяснить, что при поиске адреса пользователя выполняется слишком много запросов для дополнительных данных о каждой предложенной локации. Убрав дополнительные запросы, получилось сократить счёт за использование карт на 50%.»
У вас есть похожая задача? Давайте обсудим!
Итог
Ждём новых вызовов
Приятно было поработать с «Пятёрочкой» и принести пользу общему делу.
С нетерпением ждем следующий масштабный проект, где могут пригодиться головы наших инженеров.
Команда
Команда проекта
- Руководители проекта
Маргарита Вырвич, Надежда Абашева, Ильдар Аюпов
- Аналитик
Тим Мостивенко
- Android‑разработчики
Павел Александров, Артур Артиков, Артем Скопинцев
- iOS‑разработчики
Павел Петрович, Николай Тимонин
- Backend-разработчики
Сергей Твердохлеб, Павел Фомин
- DevOps-инженеры
Антон Соломатин, Михаил Чивилев, Юрий Крылов
- Коммерческий директор
Найки Еременко
Сотрудничество
Контакты
Эл. почта
hello@mobileup.ruМы всегда рады сотрудничеству и новым проектам.
Опишите задачу, и мы с вами свяжемся.
Или напишите в Телеграм.
Давайте знакомиться!
Ваша заявка успешно отправлена
Мы все изучим и скоро выйдем на связь