What is MicroService? Everything you should know about Microservices.

In this blog, we will explore Microservices in details. What are Microservices? Microservices are a self-contain process which offers unique business capabilities. Microservices makes complex and large application deployment process easier.
Let's understand Microservices by exploring below topics.
  1. What is Microservice?
  2. Issue with traditional application approach
  3. Microservice Architecture
  4. Why Microservices?
  5. Features of Microservices
  6. Microservices and SOA
  7. Example of Microservices in Industry

1. What is Microservice?

Microservice is not a web microservice, it is a business logic microservice, a database logic service.

You can define Microservices with below points.
  • Microservices are high-level architectural style and a variant of SOA to develop an application as a collection of loosely coupled services.
  • Microservice is a method of developing software applications which are independently deployable, scalable and runs a unique process.
  • Microservice application isolates functionality into smaller services.
  • Microservices are one of the growing methods of developing software applications.
  • Microservices scales out each service independently across multiple VMs.

2. Issue with traditional application approach

The monolithic application process can be scale up by deploying clones on multiple VMs. A traditional application development has all its functionality within a single process. A single or a minor change requires the deployment of the complete application or that process which in turns include integration, testing, and deployment. This may cost more to deploy a minor change in a single module. Here Microservices comes into the picture. Let's understand this by below image.

In below image, each colored boxes represent a set of a process of logic.

Let's take an example of a banking application. Below modules combination make a banking application.

1. Credit and Debit
2. Check Balance
3. Customer Management
4. SMS/Email Alert

In traditional application development, a process is a set of multiple logics. A change in a single logic for eg Credit or in Debit requires testing and deployment of full application which puts your production application at risk.

microservice benefits

3. Microservice Architecture

As we know Microservices segregates the functionality into smaller services. Now, look at below image, each colored boxes are small services which run independently. In Microservice, scaling can be possible by deploying each service on multiple VMs with multiple instances.

microservice architecture

4. Why Microservices?

Microservices could be a good choice to develop an application because of below reasons.
  • Loosely coupled
  • Independent and focused on task
  • Language neutrality
  • Single or small distributed system
  • Quick and Easy deployment

5. Features of Microservices

  • It consists of smaller services.
  • Each service communicates with other services or processes using protocols like HTTP or HTTPS
  • Each Microservice must be deployable independently.
  • Microservices can be scale-out independently i.e. scale-up what needed.

6. Microservices and SOA

SOA (Service Oriented Architecture) is all about a distributed system in a larger context whereas Microservices offering distributed system in a smaller unit which runs independently.

7. Example of Microservices

Netflix, eBay, Twitter, Amazon, Paypal are one of those large scale web applications which have already evolved from monolithic to Microservices architecture.

If you like this blog on Microservice, then please like us on Facebook or subscribe this blog.



C# 6.0 New Features

SharePoint Interview Questions and Answers

Calling ASP.Net WebMethod using jQuery AJAX

What is Cloud Computing - A guide for beginners