Microservices are an architectural style that structures an application as a collection of small, independent services that communicate with each other, often using lightweight mechanisms such as RESTful API calls. Each microservice runs in its own processes and focuses on doing a small, well-defined job, making the services highly maintainable, replaceable and scalable. The microservices architecture allows an application to more easily evolve and embrace new technologies.