https://chaostoolkit.org/
How long
from monolith to microservices ?
8 fallacies of distributed computing
- The network is reliable.
- Latency is zero.
- Bandwidth is infinite.
- The network is secure.
- Topology doesn't change.
- There is one administrator.
- Transport cost is zero.
- The network is homogeneous.
source (wikipedia)
RFC 1925 ( 12 Networking Truths )Deployment
Containers: lightweight VMs
- 12 factor app
- easier deploy
- reproducible build
but ...
Deployment concerns
- Scaling up and down
- Redundancy
- Scheduling / Orchestration
- Service Discovery
- Resiliency
- Rolling out and back
- Health checks
- Secret and config
➡️ kubernetes
but ...
Kubernetes concerns
- Logging
- Tracing
- Metrics
- Dependency visualisation
- Service identity and Auth
- Circuit breaking
- Traffic flow and policies
- Failover
- Fault injection
- ...
➡️ ️ use code?
drawbacks
- combination language/framework/version/feature
- maintain, upgrade, migrate, retire
- code pollution and complexity (+ testing)
- deployment / rolling update
- language/framework/version lock-in
- debugging
➡️ ️ move it to the infrastructure
remove concerns from the application
👉 move it the infra
Sidecar proxy
The network should be transparent to applications.
When network and application problems do occur, it should be easy to determine the source of the problem.
How to manage a fleet of proxy
👉 service mesh
What is a service mesh
( What problems does it solve )
Communication between services
A network for services, not bytes
THANK YOU
and I'm sorry 🙏
If you had to maintain my code
I hope you learned more by maintaining it
than me by writing it
contact
https://bisconti.cloud/
@julienBisconti
Slides made with Reveal.js and hugo-reveal