Microservices#
Advantages#
Faster delivery - Small size encourages frequent releases with less risk.
Isolation - Single microservice cannot crash the entire system.
Scaling - Individual services can be scaled on the need.
Culture - Well defined ownership, high trust team.
Flexibility - Polyglot services, own persistence systems etc.
Disadvantages#
Increased complexity
Challenges#
Service discovery
Load balancing
Fault tolerance
Distributed tracing
Telemetrics
Security (mTLS, policies, patching)
Granularity
Bounded contexts
Data modelling
Independently releasable
Service contracts
Smart services, dumb-pipes
Service Mesh#
3 pillars of observability#
Distributed Tracing
Metrics
Logging
References#
https://www.youtube.com/watch?v=QiXK0B9FhO0