Microservices are awesome
A Microservice architecture (MSA) is a logical structure for the design of a software program involving loosely-coupled modular components known as microservices.
Microservices (https://en.wikipedia.org/wiki/Microservices) are a software development technique - a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services.
In a microservices architecture (MSA), services are fine-grained and the protocols (based on HTTP methods) are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity.
This makes the application easier to understand, develop, test, and become more resilient to architecture erosion than it is possible ...with Monolithic applications.
It parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.
Microservices have a lot of advantages with a large "statistical scale", but...
there is also a criticism of the microservices approach for a number of issues e.g.:
- Testing and deployment are more complicated.
- The whole complexity (from monolithic one) is moved to the architectural organization, a larger amount of interfaces and network traffic.
- Microservices require a lot of additional software to control and react with failures and errors, because of distributed business goals and autonomous (loosely coupled) services.
- Information barriers occurs in processes.
- Inter-service calls over a network have a higher cost in terms of network latency and message processing time than in-process calls within a monolithic service process.
See more:
No comments:
Post a Comment