What is Microservice?
Table of Content:
What is Microservice?
Microservice is developed based on business features and deployed independently by an automated deployment machinery.
There is less centralized management of Microservices that may be written in various programming languages and utilize diverse data storage technologies.
For example: In an ecommerce site, Payment service could be written in C++, while Order management service could be written in Java.
What is Microservice?
Microservice architectural style is a method to create an application as a set of small services that runs its process and interact with lightweight mechanisms, usually an HTTP resource API.
Microservice vs SOA
To quickly summarize, main difference between SOA(Service-oriented architecture) and Microservices is
- Size (granularity)
- Scope.
Microservice could be considered as a subset of SOA.
Fact# 1
DID YOU KNOW - Amazon is regarded as the first company to get microservices and APIs right.
Microservice - Simple Understanding
Application functionality must be distributed into lightweight, discrete services, where every single service satisfies a particular business-focused interest. Learn more about Microservices in this video.
Fact# 2
Amazon delivers 50 million deployments annually, without coordination between teams when deploying services. Isn't that great?
Decomposition
The application is decomposed into microservices based on two categories.
-
Decompose by business capabilityThe services are created based on the business capabilities. For example, in Retailer Ecommerce - billing, payment, order management, and promotions are different business capabilities, which could be made into separate services. -
Decompose by subdomainDomain-driven design supports modeling based on the reality of business as akin to use cases.
Wrong decomposition could impact at the architectural level.