One of the biggest internet firms in Europe, Yandex, has made the userver framework’s source code and documentation available. This is the first free set of tools that has been evaluated at Yandex scale and makes it simple and effective to develop high-load C++ apps. Userver is a technology that the corporation uses in a variety of services, including taxi, package delivery, ultra-rapid grocery delivery, e-commerce platforms, and fintech initiatives. The Apache 2.0 open licence governs the distribution of the framework.
The development of applications using a microservice architecture is best suited for Userver. The framework was initially created in the Taxi division. The team was able to go from a monolithic program to an architecture that allows for the creation of independent components (microservices) and their use in other apps as a result of userver.
Microservices are autonomous, making it simple to update and add new features to an application built on such an architecture. Thus, a similar job, like designating a courier to complete Yandex Delivery orders, can be accomplished using the taxi driver search microservice. The identical can be done with many additional responsibilities, including scheduling the arrival of the driver or courier.
“As we switched to microservices, we understood that the new framework should be as simple as possible for developers and businesses. Therefore, we built userver with an emphasis on reliability and convenience: inside, you will find everything necessary for development, diagnostics, monitoring, debugging, and experimentation. For example, userver suggests how to fix errors at the compilation stage, can work with different databases or change parameters on the fly, and so on. It is well suited for application development in both small and large companies. With the help of userver, even a beginner can write a new microservice in a week,” says Anton Polukhin, one of the framework’s authors and head of backend solutions development for RideTech and E-com product teams.
Other important technologies from Yandex are made available as open source, such as the distributed database management system YDB, which can handle millions of queries per second. Another such is Yandex’s use of the CatBoost machine learning library in its search and other services.