What are Microservices?
1. Introduction
Microservices was termed by Dr Peter Rodgers in 2005 and was initially known as micro web services. The main principle behind microservices is to break up single large ‘monolithic’ system into multiple independent components/processes.
2. Understanding Microservices
Microservices architecture allows decoupled components to be built and deployed independently to integrate into a single larger system. Saying that, it means that these individual components are loosely coupled with each other, each having a tight cohesion.
Tight cohesion means that the components are in itself very specific to what they need to do.
These components interact with each other through a standard XML/JSON interface (lightweight language agnostic communication mechanisms), irrespective of the technologies used to create the component.
The opposite of a Microservices architecture would be a “monolithic” application where all functionality is part of a single program running in a single environment.
Also to let you know, some of the well-known large companies who have successfully applied microservices architectures are: Amazon, eBay, Gilt, Netflix, PayPal, and Twitter.
3. Shopping Cart example
In a traditional “monolithic” applications (opposite to Microservices approach), all the functionalities are implemented and embedded as part of a single application, similar to what is shown in the below diagram –
If the same shopping application would have used Microservices architecture, it would have looked something like below –
4. Advantages of Microservices
Some of the major advantages of using Microservices are –
- It gives developers the freedom to independently develop and deploy services.
- Improves the scalability with the ability to individually scale services as needed.
- Better fault tolerance, which means that if one microservice fails, the others will continue to deliver.
- Code for different services can be written in different languages.
- The microservice architecture enables continuous delivery.
5. Conclusion
I hope the basic understanding on Microservices went well. We will soon bring up a demo on how to create Microservices using Spring Boot. Please share your thoughts and opinions in the comment section below.
Published on Java Code Geeks with permission by Abhimanyu Prasad, partner at our JCG program. See the original article here: What are Microservices? Opinions expressed by Java Code Geeks contributors are their own. |
That was a very good gigh level description of micro sercices. Thank you
Thanks William!
Great overview :)
nice and clear description
Concise. Love it!
Looking forward to your demo on how to create Microservices using Spring Boot.
Thanks.
Demo on how to create Microservices using Spring Boot, is now available. Do share your comments there.
https://www.javacodegeeks.com/2017/12/microservices-implementation-example-spring-boot.html
It’s a wonderfull decription about microservices.
Thanks a lot. From Argentina
good intro to microservices concept. thanks!
very nice explanation..
That’s a clear and consise descrption. Just one doubt- How it is different from small small applications which uses REST services. I mean lets take your example. There will be one REST application for Buyer and one for Inventory and one for Cart.
On Sale| 94% OFF
The Complete Microservices With Java
https://www.udemy.com/getting-started-with-microservices-from-zero-to-production/?couponCode=INITIAL
Build React forms using Formik, No more pain!
https://www.udemy.com/build-react-forms-using-formik-no-more-pain/?couponCode=INITIAL
Hurry Up and get enrolled today!