Microsoft’s Mark Russinovich on Defining Microservices
Microservices In the Cloud Native World
Have you ever tried to explain microservices to anyone? Depending on the context, people explain it differently. But when it comes to establishing the relationship between microservices and cloud native computing, no one explains it better than Mark Russinovich, chief technology officer of Microsoft Azure, in this latest edition of The New Stack Makers podcast.
According to Russinovich, the best way to understand microservice infrastructure is to look at the previous generation architecture of the client-server era. The era of monoliths. Typically, there were three tiers: application (front end); the middle tier (business logic) and then the third tier of backend for things like a database server.
This model slows everything down. You can’t innovate because all three tiers need to be in sync with each other. Trying to be agile by embracing cloud means on-demand creation of computing resources. It breaks the older model. You end up with a mismatch between the delivery model of the application architecture and what the underlying platform can provide.
Microservices came along as a way to break down the monolith into its constituent pieces. Now different developers or teams of developers can work on those components and release them independently of every other team that is working on the other microservices of the larger application.
Suddenly organizations had the level of agility in their application architecture that could then match the agility benefits that the underlying infrastructure can provide.
“The fact is that, in many complex applications, if you’re not doing that, then you’re not going to be competitive,” said Russinovich. “So the microservices approach has been driven both by trying to take advantage of the infrastructure as well as to remain competitive.”
However, he also makes it clear that microservices are not a silver bullet, it’s not the answer in all cases. But it’s certainly very effective in complex projects that have multiple teams, and different pieces that evolve and scale at a different pace.
He also talked about the challenges companies face when embracing microservice architecture and more. Watch the full interview with Russinovich on YouTube and listen on SoundCloud.