Home » Software Development » What are Microservices?

About Abhimanyu Prasad

Abhimanyu Prasad
Abhimanyu is a passionate tech blogger and senior programmer, who has an extensive end-to-end development experience with wide range of technologies. He is the founder and administrator at jCombat.

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.

(+1 rating, 1 votes)
You need to be a registered member to rate this.
11 Comments Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Wiliam Ferraciolli
Wiliam
2 years ago

That was a very good gigh level description of micro sercices. Thank you

Abhimanyu
2 years ago
Reply to  Wiliam

Thanks William!

Helana Nosrat
2 years ago

Great overview :)

Neeraj
Neeraj
2 years ago

nice and clear description

Zhoogz
Zhoogz
2 years ago

Concise. Love it!

Looking forward to your demo on how to create Microservices using Spring Boot.

Thanks.

Abhimanyu
2 years ago
Reply to  Zhoogz

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

Jose Gomez
2 years ago

It’s a wonderfull decription about microservices.
Thanks a lot. From Argentina

Alzeena
Alzeena
2 years ago

good intro to microservices concept. thanks!

Subhasispanda3
subhasis
2 years ago

very nice explanation..

SKumar
SKumar
1 year ago

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.

Mahmoud Jbour
Mahmoud Jbour
1 year ago

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!