What’s under the hood of SberAuto – IT infrastructure and the stack of an online service for buying cars

Today we will briefly talk about the approaches, stack, frameworks and cloud solutions on which our technology platform is built. We pass the floor to Yuri Builov, technical director of SberAvto.

Market situation and service creation

The past few years have been a difficult situation on the automotive market: prices are rising, there are fewer good cars, and there are more unscrupulous sellers. Problems with logistics and sanctions do not improve the situation.

The process of buying a car is often opaque and time-consuming. You need to find a suitable copy, inspect and check it, negotiate with the seller. If the car is in another city, then the buyer is forced at his own risk to look for a specialist who will help with the assessment. Many pickers cooperate with resellers and salons – in this case it is difficult to count on objectivity. But even if the buyer is satisfied with everything, he often has to risk money and time and go to another region to sign the contract.

So that the buyer does not have to travel to sellers or salons, hire pickers, who often do not bear any responsibility, new market players are needed to change the established way of life. Online marketplaces are already doing this, making it as easy to buy a car as any product on the Internet. For example, the Carvana service operates in the USA, which known with its multi-storey “vending machines” with transport. In Europe, similar services offers Cazoo – for the first year of operation of the company sold 10 thousand cars. There is also the European Carvago, the British Carwow.

In 2019 our teamSberAuto“made a Russian service that transferred the process of selling a car online. You can choose a car on the website or in the application, order an independent assessment there, pay with one button, get a loan, get insurance. And all this can be done right in the chat. There is no need to go anywhere to pick up the car – we will deliver it to the appointed place. The development of MVP took us three months and required a flexible IT infrastructure – I’ll tell you more later.

Our principles

The technological culture of SberAvto is based on Cloud Native approach, microservice architecture on the backend and completely remote work from the first day and for everyone. We have a small but efficient distributed team in five time zones and flexible processes that, on the one hand, allow us to meet the high standards of the bank, and, on the other hand, create a favorable environment for growth and development.

Technology platform

The SberAuto service developed according to the principle Mobile First, that is, first of all, we launched a mobile application for iOS and Android, and only then published a web showcase as the main channel for performance marketing. Our front system is a product shelf with offers of dealer and partner vehicles and a personalized set of related services – credit programs, insurance, selection and trade-in.

Central to the online car buying process is the ML/DataDriven back office system with asynchronous chat communication. The client habitually writes to the chat in the application, he is automatically assigned a personal assistant who best suits his profile and the terms of the transaction. A full-fledged virtual call center with distributed employees, but instead of phone calls, the entire process takes place in a chat – from identifying a customer’s need to payment and arranging delivery.

Our stack

On the backend microservice architecture, services in Golang using Open Source solutions: go-kit and quite a standard set of tools – Jaeger, Prometheus, Kibana + Grafana.

To work with MySQL and PostgreSQL databases, we use GORM (all OSS) is an ORM library for Golang. All services are deployed by Helm charts in a Kubernetes (OSS) cluster and communicate via gRPC. For release management, we use the CI / CD methodology and Gitlab CI in particular.

On the front-end part of the application, we use React. On the client site – NextJS, for Server-Side Rendering (SSR), and for state management – Redux (all three – OSS).

React Native was chosen as a framework for mobile development. To manage the state we use reduxand to save it in the file system – a library Redux Persist (also OSS). Navigation goes through React Native Navigation (OSS). From a technical standpoint, ReactNative is a cross-platform solution, but sometimes we have to dive into iOS and Android code. For example, for integration with native libraries and extensions within the framework.

How we built the infrastructure

The SberAuto project was built from scratch. To speed up development at the start, as sandbox-platforms, we tested the services of several Russian and foreign cloud providers. It was important for us that the provider could quickly resolve issues related to reliability, SLA provision and scaling.

According to the results of the pilot launch of the service Cloud Container Engine it was decided to migrate to the cloud platform Advanced. We moved the infrastructure to the platform, while leaving backups and database replicas in the old cloud.

We initially designed SberAvto as Cloud Native application, so there were no special problems with the move. The main thing is to migrate object storage and data, and deploying the necessary services does not take much time.

We needed a whole set of infrastructure components for containerization, virtualization, and collaboration. It was also important to set up systems for monitoring, logging and working with data. They come from various sources, they need to be validated somehow and stored somewhere. For each task, the cloud provider has a ready-made solution.

We ended up using Cloud Container Engine (service based on Kubernetes) to manage container infrastructure. Deployment and scaling of clusters was automated through it. To work with data, we use Object Storage Service – it contains more than 12 million car images – and a set of Advanced managed services (databases and message brokers).

By the way, the command Advanced inspired by customer migration experience and now they have launched a big promotion “Move completely”: offer cloud migration grants at favorable terms.

Results and plans

Over the past year, the number of users of our service has grown by more than five times. The SberAuto application even took second place in terms of the number of downloads in Russia with 1.02 million downloads. In the future, we plan to expand the user audience and the arsenal of tools based on AI systems and the ML Space platform. Machine learning models are already helping analyze marketing campaigns and sales. In the future, we will continue to develop intelligent solutions for matching managers and clients, as well as for semantic analysis of chats with potential buyers.

Now for each manager, using his sales data for past periods, we calculate the AffinityIndex [это мера соответствия целевой аудитории] taking into account the share in sales of new cars, the distribution of sales by price segments of cars, by their brands, by gender, age of buyers and regions of their presence. We build the corresponding models in Jupyter Notebook, and use fastAPI to deploy to production. All models undergo performance evaluation and A/B testing before launch.

Accelerated development through technology

In a couple of years, we have covered almost the entire path that car classifieds have gone through for decades, and now we really know how to sell cars online. Naturally, not without the help of modern technologies and approaches that we can continue to share with you. Write what you want to know more about and how do you generally feel about buying a car online?


What else is on our blog:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *