This document discusses moving a microservices architecture to the next level with service meshes. It introduces Istio as a service mesh for Kubernetes that provides traffic management, observability, and security capabilities. Istio uses the sidecar proxy pattern to enable features like mutual TLS, timeouts, retries, and circuit breakers to help solve challenges of microservices distribution like service discovery, load balancing, and failure handling. The document demonstrates Istio's capabilities and recommends adopting its features incrementally to gain experience before fully implementing a service mesh.
14. 14
Microservices Architecture
Fallacies of distributed computing
Network is reliable
Latency is zero
Bandwidth is infinite
Network is secure
Source: https://nighthacks.com/jag/res/Fallacies.html
18. 18
Istio
Mutual TLS – inter-service communication is encrypted & authenticated
Communication Mode
▪ Clear (strict)
▪ TLS (strict)
▪ Clear + TLS (mixed)
Encryption Scope
▪ Service
▪ Namespace
▪ Mesh Wide
Service Mesh Service Mesh
mTLS
19. 19
Istio
Timeout – handling latency
Service Mesh Service Mesh
✓ Delegate Timeout Management
to the Service Mesh instead of
the Application
✓ Combine Timeout with Retry
strategy
21. 21
Istio
Retry – Handling failures
Service Mesh Service Mesh
✓ Delegate Retry Management
to the Service Mesh instead of
the Application
✓ Compensate a failing instance
23. 23
Istio
Circuit Breaker – Backoff Pressure Management
Service Mesh Service Mesh
✓ Provide a quick response on
failure
✓ Limit network overhead in case
of a failure
✓ Isolate a failing component
30. Istio
Blue Green Deployment
30
✓ Validate a feature with Production traffic
✓ Qualify the feature (errors, performance,
dependencies)
✓ Ability to rollback anytime
✓ Limited impact in case of a failure
Service
Mesh
Service
Mesh
75%
25%
v1
v2
31. Istio
Canary Deployment
31
✓ Validate a feature with Production traffic
✓ Qualify the feature (errors, performance,
dependencies)
✓ Ability to rollback anytime
✓ Limited impact in case of a failure
Service
Mesh
Service
Mesh
location: ‘’*’’
location: ‘’fr’’
v1
v2
33. Istio
Conclusion
33
Service Mesh provides an agnostic solution for Microservices management
▪ Traffic Management
▪ Observability
▪ Security
Istio integrates well with Kubernetes but also complexify the setup
• Additional CRDs to manipulate
• Additional components to operate
34. Istio
Recommendations
34
Adopt an incubation approach to start with limited set of features
▪ mTLS
▪ Retry / Timeout / Circuit Breaker
▪ Observability
Master how features operate and adjust constantly
• Analyze (deep-dive)
• Measure (impact, benefits)
• Adapt (kill or extends)