Upload
datawire
View
153
Download
3
Embed Size (px)
Citation preview
datawire.io
Microservices Process: Service Oriented Development
The output of the process:
● Continuously improving Service
The process:
● Guess (incremental improvements)● Check (correctness + availability & user impact in production)
The tools:
● Deployment - make small guesses● Observability - measure the impact on functionality, availability, users● Resilience - ensure negative impacts are not catastrophic
14
datawire.io
Microservices Process: Service Oriented Development
Ignore architecture, focus on release frequency
As soon as you have users, adjust your process to measure user impact
Recognize that stability vs progress is a fundamental tradeoff
● for a single service…
15
datawire.io
Microservices People: Autonomous Teams
Make your teams fully autonomous
Ignore technical boundaries, define services functionally
● who uses the service, and what does it help them do
God’s eye view is harmful
● decentralize the architecture & operations work to avoid organizational bottlenecks
22
datawire.io
The tech stack
● Kubernetes -- infrastructure as configuration● Docker -- build containers● Envoy -- API gateway + L7 Router
24
datawire.io
The Journey
25
Stage 1: Rapid development, early users
Stage 2: Users Stage 3: Internal users, couplingStage
Successful Deploy
Doesn’t crash...Minimal disruption to users...
No cascade failures...
datawire.io
Organizational Journey: Many services, different stages
26
Stage 1: Rapid development, early users
Stage 2: Users Stage 3: Internal users, couplingStage
Successful Deploy
Doesn’t crash...Minimal disruption to users...
No cascade failures...
Stage 1: Rapid development, early users
Stage 2: Users Stage 3: Internal users, coupling
Stage 1: Rapid development, early users
Stage 2: Users Stage 3: Internal users, coupling
Stage 1: Rapid development, early users
Stage 2: Users Stage 3: Internal users, coupling
Doesn’t crash...Minimal disruption to users...
No cascade failures...Doesn’t crash...
Minimal disruption to users...
No cascade failures...Doesn’t crash...
Minimal disruption to users...
No cascade failures...