Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules.
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
Microservices came about to help solve the frustrations developers were having with large applications that require change cycles to be tied together. In a monolithic service-oriented architecture (SOA) deployment, each small change meant that the entire monolith needed to be rebuilt and this, in turn, meant that re-builds weren't happening as rapidly as they should have. In a microservices architecture, each microservice runs a unique process and usually manages its own database. This not only provides development teams with a more decentralized approach to building software, it also allows each service to be deployed, re-built, re-deployed and managed independently.
Software developer and author Martin Fowler is credited with promoting the idea of breaking down services in a service-oriented architecture into microservices. Some developers maintain that microservices is simply a more granular approach to service-oriented architecture. Others believe that microservices is a more platform-agnostic approach to application development and therefore, should have a unique name.