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.

(0 rating, 0 votes)
You need to be a registered member to rate this.
10 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

10
Leave a Reply

avatar
8 Comment threads
2 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
9 Comment authors
SKumarSubhasispanda3AlzeenaJose GomezZhoogz Recent comment authors

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

  Subscribe  
newest oldest most voted
Notify of
Wiliam Ferraciolli
Guest
Wiliam

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

Abhimanyu
Guest

Thanks William!

Helana Nosrat
Guest

Great overview :)

Neeraj
Guest
Neeraj

nice and clear description

Zhoogz
Guest
Zhoogz

Concise. Love it!

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

Thanks.

Abhimanyu
Guest

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
Member
Jose Gomez

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

Alzeena
Guest
Alzeena

good intro to microservices concept. thanks!

Subhasispanda3
Guest
subhasis

very nice explanation..

SKumar
Guest
SKumar

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.