Yandex has published the source code and documentation of the userver framework. This is the first open set of tools that allows you to create high-load applications in the C++ language and has been tested at the Yandex level.
Userver is used in Yandex Go, Lavka, Delivery, Market, fintech projects and many other company services.
The framework is provided under the open license Apache 2.0.
Userver is best suited for developing applications with a microservice architecture. Initially, the framework was developed in Taxi, with its help the team switched from a monolithic application to an architecture that allows you to develop separate independent components (microservices) and use them in different applications.
Microservices are autonomous, so an application based on such an architecture is easy to update and add new features to it. So, the microservice for finding a driver for orders in Taxi can be used for a similar task – for example, finding a courier to fulfill Yandex Delivery orders. The same can be done with the calculation of the arrival time of the driver or courier and many other tasks.
Anton Polukhin, one of the authors of the framework and the head of the backend development team for RideTech and eCom product teams has been quoted:
When we switched to microservices, we understood that the new framework should be as simple as possible for developers and businesses. Therefore, userver was created with an emphasis on reliability and convenience, and inside it has everything you need for development, diagnostics, monitoring, debugging and experimentation. For example, userver suggests how to fix errors at the compilation stage, knows how to work with different databases, change parameters on the fly, and so on. It is well suited for application development in both small and large companies. And with the help of userver, even a beginner can write a new microservice in a week.
You can find out more information here: https://userver.tech/