The «Pyaterochka» store: infrastructure improvements

  • iOS

  • Android

  • Backend

  • Retail

Intro

We worked on infrastructure and backend architecture improvements and participated in the main mobile application and delivery service development.

01

Task

«Pyaterochka» is the largest federal trade chain. This is a huge system that constantly expands and grows.

We had to conduct the «Pyaterochka» infrastructure audit to find vulnerabilities and points of growth.
02

Solution

Our cooperation with «Pyaterochka» began with a small but relevant task. We had to conduct an audit of the infrastructure, which served as the backend for the website, mobile app, and loyalty program.

When the task was solved, the scope of our attention expanded. We took part in the website development (backend), helped to redesign the infrastructure, and implement the ideas that appeared in the audit process

Let things in order below.

Infrastructure audit

We have conducted a backend audit found current problems and proposed some DevOps solutions to make the «Pyaterochka» infrastructure better. At the exit, the customer received a document with the following data:

  • Description of current problems and DevOps solutions to fix them

  • Recommendations on organizing work with a DevOps team

  • Paths of development and options for services scaling prediction

During the audit, we realized that the customer and our team spoke the same language, and we cooperated effectively as a whole, so we decided to continue the cooperation.

The «Pyaterochka» app we worked on

We strengthened the system with DevOps

We dropped off three DevOps specialists for the project, who finalized and improved the infrastructure of «Pyaterochka» step by step. Our audit was taken as a list of tasks.

The MobileUp team has improved the system. We made it so that it could withstand heavy loads during peak hours. Our specialists configured deployment in Kubernetes, Helm, Redis, Grafana, and Kibana to monitor such indicators of the system as traffic, peaks, and other parameters.

Заголовок

«It was very exciting to touch the project, which is used by millions of people across the country every day.»

Margo Virvich

Project Manager

Backend development of product catalog

The customer’s team was going to switch from a monolith to a microservice architecture. We offered to help with this task and decided to start with a catalog.

The catalog was supposed to be a separate service that interacts with the monolith. It was necessary to design it so that it could withstand a high load. The customer has about 19 thousand stores across the country, where each item has its price, balance, and possible discounts. At the same time, all items in the directory module must be periodically synchronized with other accounting systems.

The catalog was designed, agreed upon with the «Pyaterochka» engineers, and then implemented.

We have implemented it in Python 3 with Elasticsearch.

Заголовок

«It is always inspiring to dive into the processes of a huge company, integrate into them and help improve them. We were inspired to do the project during the year, because there was always something to do — much room for activity. We are happy to know our work has helped to simplify the shopping process for millions of people across the country.»

Naikee Eremenko

Commercial director

Improvement of the main app

We worked on the main screen and everything related to it.

  • Our specialists participated in the application redesign

    We worked on the «Pyaterochka» layouts: we were engaged in building dependencies and a library of components implementation.

  • Block architecture standardization

    The block design was implemented in the project. Elements look like blocks and appear as blocks in the code. The mechanism had existed before we came here, but the team hadn’t had uniform rules and principles for writing new blocks making it difficult to develop. Artur Artikov, our Android lead developer, helped standardize the block architecture and wrote project documentation.

Delivery Application Modification

The «Pyaterochka» infrastructure includes three modules: the delivery module, the store module, and the app module, which connects two other modules. We have worked with all three.

Delivery application

  • Map optimization

    The audience of the service is 6 million people. Each request to Yandex maps costs money that the customer spends. We have reduced the number of requests to optimize monthly costs. For example, the app asked Yandex for full information and coordinates of ten drop-down addresses before, but now it asks only for the nearest one.

  • Functionality improvement

    We updated the application and improved the functionality of selected products. We also added analytics there and integrated Amplitude.

  • Bringing order to architecture

    We have made submodules in the main delivery module. When the team grows, it is important not to interfere with each other. Submodules help developers to make changes simultaneously. Modules also positively affect the application build time.

Заголовок

«At one point, the Yandex Maps SDK bill increased so much in the app for Android. Therefore, we decided to research to optimize the number of requests. As a result, we managed to find out that an excessive amount of requests are made for additional data about each proposed location when searching for a relevant address. So, we remove additional requests and cut the bill for the maps using by 50%.»

Pavel Alexandrov

Android developer

03

Resume

We wait for new challenges

It was a pleasure to work with «Pyaterochka» and bring benefits to the common cause.

We are looking forward to the next large-scale project where our engineers could be useful.

04

Team

Project team

  • Project managers

    Margo Virvich, Nadezhda Abasheva, Ildar Aupov

  • Analyst

    Tim Mostivenko

  • Android developers

    Pavel Alexandrov, Artur Artikov, Artem Skopintsev

  • iOS developers

    Pavel Petrovich, Nikolai Timonin

  • Backend developers

    Sergey Tverdohleb, Pavel Fomin

  • DevOps engineers

    Anton Solomatin, Mihail Chivilev, Yury Krylov

  • Commercial director

    Naikee Eremenko

01

Collaboration

contacts

We are always glad to cooperate and work on new projects

Describe the task, and we will contact you soon. Or you can always text us on Telegram.

Let’s get to know each other!

ВыбратьОткуда вы о нас узнали
  • Ratings
  • Recommendations
  • Conferences
  • Publications
  • Social
  • Other

By clicking 'send', you consent to our processing your personal data and agree to our privacy policy terms.

Your application has been submitted successfully

Thank you! We will contact you soon