blob: 88a50961a6b368b2622ee87b8578d3725066aa0b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# Microservices gone wrong
Anthony Ferrara
https://docs.google.com/presentation/d/1Ogejf47b7k0RWU-7lE_uBsCmJxL3CvydOl8fVukuQ_4/edit
- starting from scratch
api gateway
middleware for external requests
message-bus rabbitMQ
Service per domain entity
Meta service using ES
Kurbenetes
Why local dev failed?
Slow.
Inconsistent
Would break
mainly: "Someone elses problem" - all devs
Production release took 1 week
Cost of context switching
Smoke Test
- Lessons Learned
- service call's are unreliable
- "microlyth"
1. Don't do micorservices
a. unless you have a dedicated tooling and automation team
2. Start with big services
a/ Split if you require
3. Automate everything
a spin up, deployment migration, backup state restoration Elliptic
4. Don't plan for failure, live it
a. failure modes should rebuilt first, tested first, and relied upon
5. Define SLO early
a. Define business objectives for each service and system before building
|