Microservices, also named microservice architecture, is a software architecture concept of building an application as a set of loosely coupled, independently developed services which communicate to each other via API. The approach is not new though, and its origins one should move back to the objectives of Unix. Microservice architecture came back just in a moment when the monolithic applications couldn’t be maintained efficiently any longer.
Application architecture should evolve, and adapt the new technology stack. An evolution is more cost effective, less frustrating, and faster than changing a platform or framework every few years. And here the microservice architecture comes with its high testability, independent deploys, and small teams organised around a given service.
Is the microservice architecture always a remedy? It is not. As all other patterns it needs to be used wisely to avoid running into troubles. Moreover, microservices is not a good solution in all cases. Acquiring and understanding a business domain, and a deep comprehension of a problem is the key.