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