Understanding microservices
The term microservices denotes an architectural style of building applications taking the form of loosely coupled services. These independently deployable services are tiny applications most often built via a web service technology. While one service can communicate via SOAP, the other can be do so via REST, Apache Thrift, or something else. There is no standard to specify the firm requirements here. The general idea is to take a large monolithic application and slice it down into several smaller applications, that is, services, but doing so in a manner that serves a business goal.
The following diagram tries to visualize this concept:
Popularized by the likes of Netflix and Amazon, the microservices style sets out to solve a few key challenges of modern application development, some of which include the following:
- Development team size: This is a single microservice that can be developed by a relatively small team
- Diversity of development skills: These are different...