What are the advantages and disadvantages of microservices architecture?

What are the advantages and disadvantages of microservices architecture?

Cons of microservices

Pros Cons
Better scalability Poorer performance, as microservices need to communicate (network latency, message processing, etc.)
Faster development cycles (easier deployment and debugging) Harder to maintain the network (has less fault tolerance, needs more load balancing, etc.)

What is coupling and cohesion in microservices?

The two concepts “Coupling” and “Cohesion” have been common when describing the boundaries of microservices. Coupling talks about how to change one thing needs a change in another, and cohesion talks about how we organize the code. A structure is stable if cohesion is high, and coupling is low.

Why is it important to avoid tight coupling in microservices?

In any communications between services (microservice or otherwise), it is important to go above and beyond to avoid tight-coupling. In microservice architectures, it is especially important, as we want to ensure that our services keep a cool, wary distance from one another however / whenever possible.

How are microservices different from other architectural styles?

Microservices are the latest architectural style promising to resolve all issues we had we previous architectural styles. And just like other styles it has its own challenges. The challenge discussed in this blog is how to realise coupling between microservices while keeping the services as autonomous as possible.

What’s the issue with isolating your microservices?

One of the biggest issues we can face when dealing in microservices is to ensure each microservice operates in complete isolation from its microservice siblings.

What are the advantages and disadvantages of loose coupling?

The primary benefit of Loose Coupling is that resources are decoupled from the interface to allow for greater amounts of interoperable, extensible APIs and resource schemas. Not all services require this, however. There are some cases where one has a single resource and a single interface of a single type.