Wednesday, March 31, 2021

Chris Richardson: 2.4 Benefits and Drawbacks of Microservices Event Driven Microservices

March 31, 2021

Here is the link. 

smaller, simpler applications 

  • Easier to understand and develop
Scales development: develop, deploy and scale each service independently. 

Improves fault isolation 

Memory leak - take down the entire monolithic 
Only impact only one service, leave other services unaffected

Eliminate dependency on one technology - do not need same technology - Husk to implement one service 

Eliminates long-term commitment to a single technology stack -> modular

Governance - 

Two levels of architecture system-level, service-level 

Easily try other technologies - Closure, node, play, python, Dropwizard, spring Boot, Scala 

... and fail safely

Drawbacks of microservice 
Complexity - Complexity of developing a complex system 
Partial failure - 
Multiple databases & transaction management e.g. Fun with eventual consistency 

Distributed transaction - CAP theorem - event driven 
Complexity of testing a distributed system 

Selenium - RESTFUL API 

Microservice testing strategies 
Brittle, slow, costly 
Reliable, fast, ...
Complexity of deploying and operating a distributed system - you need a lot of automation 

Automating - cloud found, docker cluster solution - infrastructure - solution do exist 

Developing and deploying features that span multiple services requires careful consideration 

When to use it? 
Context dependent - 
In the beginning: 
You don't need it 
It will slow you down 

Later on: 
You need it
Refactoring is painful

Microservices are necessary but insufficient 
Microservice-based application architecture 

Deployment People 



No comments:

Post a Comment