What are the Microservices ? Advantages/Disadvantages
In this article, I am gonna write about microservis architecture and its advantages/disadvantages.
What are the microservices ?
Micro-services are small pieces of software that work by communicating with each other via the internet.Another definition : Microservice architecture – a variant of the service-oriented architecture (SOA) structural style – arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight.
Monolotich vs Micorservices
Before microservices architecture, many software was developed with monolithic architecture in the form of a single project/solution/war. Let's consider an e-commerce website has products, categories, payment systems, management panel, user account.Testing and deploying becomes difficult for kind of huge project also developing new features harder for developers. It creates the need to compile and check the entire project in detail, even for a small change.
Advantages
Technology Heterogeneity:
Monolithic applications were developed with a single software language and database system.I mentioned the features found under an e-commerce system before. When we develop these features into separate Microservices, we can choose a different software language or database.This allows us to use the advantages of each software technology stack.
Resilience:
An error that exists in the project in monolithic applications causes the entire page to appear as an error page. I think you also saw or had situations that websites had runtime-error or custom error pages. In microservice architecture, each area in the project is a different software and hosts its own space, so the error does not affect the entire system. For example, an error in the basket system does not affect the way users review products or navigate categories.