We dot the microservices. Avito section on RHS ++ 2017 (Video)
Here came the material from the festival RIT ++ 2017 . We gave presentations on machine learning, front-end and mobile development topics and conducted a separate thematic section on microservices. Under the cut - video recordings of speeches in this section of our speakers and colleagues from other companies. Be sure to take a look to learn about approaches to working with microservices and interesting techniques that are really used to solve your problems.
Microservice architecture: problems and solutions
The topic of microservices at the event was opened by Sergey Orlov in the main hall of RIT ++. It was a conversation about the problems, tasks and solutions of the microservice architecture, which many modern web projects are switching to. But at the same time, classical problems appear in a new light. Qualitatively new requirements are imposed to development, operation, testing. All this (and, of course, approaches to solving problems) is described in the video.
Advantages and disadvantages of microservice architecture in HeadHunter
Want to cut a monolith on microservices? Keep in mind that these changes will affect the entire company. Most likely, there will be problems with the development, deployment, operation and so on. Sometimes they can even negate the benefits of using microservices. In his report, Anton Ivanov from HeadHunter weighs the advantages and disadvantages of vertical and horizontal division into microservices. ')
Events, events and more events
To collect events, we at Avito have developed an Event Stream Processing system. To her high demands. This is a good bandwidth, fault tolerance, scalability. From the report of Anton Sukhov, you will learn why we chose NSQ rather than fluent for solving our problems, how to solve problems of collecting events that inevitably arise during the transition from monolith to microservices, and also how to lay the foundation for new events to be added to automated mode. If you decide that you want to implement such a system, then look at our small checklist for the requirements for it and for your infrastructure at the end of the video.
Monitoring in microservice architecture
In this video, Vladimir Kolobaev talks about the monitoring system in Avito. Keywords: monitoring as a service (developers can send metrics themselves, create dashboards, triggers and notifications for their projects), SLA> 99.99%, low threshold of entry. Futuristic forecast: monitoring in every home, anomaly detector, metadata. And yes, the time machine in the report is also there.
Legacy in the box. Kubernetes dev-based environment
New microservices appear, but the monolith does not disappear anywhere. We at Avito develop and deploy services using the Docker and Kubernetes bundles. Often, integrating a monolith with services is quite problematic. But what if you also wrap it in Docker + Kubernetes and apply the same practices as for microservices? The report by Ilya Saulenko contains answers to questions about how to fit a legacy application together with databases and sphinxsearch in an isolated box, reduce differences between environments and not forget about the Developer Experience. It will be useful for teams planning or surviving the cut of the monolith and all those who have to work with third-party legacy systems.
Manage secrets in a Kubernetes cluster using Hashicorp Vault
In the next report, Sergey Noskov talked about managing secrets in the Kubernetes cluster with the help of the Hashicorp Vault. The video provides a brief overview of the solution, discusses cases of automatic and secure management of secrets using Puppet + Hiera. Particular attention is paid to Kubernetes built-in secrets, problems of managing them and the shortcomings of existing solutions for obtaining secrets from Vault. It tells how we eliminated these shortcomings with a simple, self-written solution.
From raw data to report. Architectural approaches in the Avtotek project
With the help of our new service "Avtotek" you can check the history of the car by VIN-number. In this video, Nikolai Balakirev talks about Avito's architectural approaches that were implemented in the project. Why we began to use microservices for this task? And what have we done to ensure that the consumer receives the necessary and relevant information in less than a second? On building a service that can visit more than 10 third-party APIs during this time, extract pre-collected data, check sources with static information, and, finally, merge according to a specific set of rules, see the report.
Microservices for Machine Learning
We had 30 million active ads, 20 million active users, 1.2 billion events and a team that implements hands-on machine learning. What's next? Watch the video in which Dmitry Khodakov tells two stories: how traditional microservices can be used for the content distribution system on recommendations and real-time application of models, and how we saw the monolith of our recommendation system for microservices. Click to play!
Microservices in production. Kubernetes
And of course, RIT ++ has not been without practical training. Our colleagues from Openprovider Elena Grahovac and Igor Dolzhikov conducted a master class “Microservices in production” for everyone. It consisted of two parts.
Part I:
- some issues of the development of microservices; - writing services on Go.
Part II:
- infrastructure preparation; - release of services in Kubernetes using CI / CD. The master class is available in the next video, and here is a link to the repositories with its materials.
These are all materials from the section on microservices on RHS ++. Ask questions if any.