Introduction To Microservices

Introduction To Microservices thumbnail
7K
By Amit Swain 23 February, 2018

MicroServices or Microservice Architecture is a distinct method of developing and designing software systems. The concept of a microservice originally crept into the software development community’s consciousness around 2014 and was a direct response to many of the challenges faced with old monlithic architecture.In this post we will focus on the crave of microservices.

What is a Microservice

A microservice is a small, loosely coupled distributed service .Microservices allows you to take large application and decompose or break into easliy managebale small components with narrowly defined responsiblities.The key point to embrace here is decomposing and unbundling the functionality.

Why Microservices

Before exploring the adavtages of microservices lets point out the hardship with monlithic applications.

  • Application is too large to understand the complexity and make code changes fast and correctly.sometimes it becomes hard to manage the code.

  • Growing with complexity application becomes heavy and slows down start-up time.

  • For small change in any corner of the application , the whole application needs to be built and deployed.

  • Applications need extensive manual testing to ensure the impact of changes.

  • Any Bugs found in one module can bring the whole application down.

  • Difficult to achieve scalability and resiliency.

Advatages of Microservices

  • Application is broken into smaller peices (Services) which is easy for developers to code and maintain.

  • Services are concerned ,lightwieght and indepedently deployable.

  • Services are reusable across platforms as it runs independently and communicates using lightweight mechanisms.

  • Fast delivery of features or change request.

  • Well adherable to cloud enviornments which explores increased scalability and avaliablity.

  • Improves fault isolation i.e larger applications can remain largely unaffected by the failure of a single module

Drawbacks of Microservices

  • As it becomes granular the headache comes for configuring the services and monitoring those.

  • Tracking down the service failure is painstaking job.

  • Needs a greater effort for end to end testing as it needs all the depdedent services to be up and running.

Share

If You Appreciate This, You Can Consider:

We are thankful for your never ending support.

About The Author

author-image
I have a professional experience of 4.4 yrs as a Java developer. My Primary Skills include Java Tech Stacks like Spring ,Hibernate,JPA,Spring Boot, JDBC and Spring Rest. Besides that I am always keen to work Client Side technologies like JavaScript and Angular. Currently focusing on microservices architecture and CQRS.

Further Reading on Spring Cloud