Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Microservices War Stories
Blithe Rocher
May 18, 2016
Technology
1
130
Microservices War Stories
OSCON 2016
Blithe Rocher
May 18, 2016
Tweet
Share
More Decks by Blithe Rocher
See All by Blithe Rocher
blithe
1
150
blithe
2
540
blithe
0
74
Other Decks in Technology
See All in Technology
siroemk
0
270
sumi
0
580
becolomochi
0
160
jxck
2
220
oyakata2438
0
290
saik1010
0
390
terurou
0
210
clustervr
0
210
yosshi_
2
530
sasakendayo
2
450
papix
0
230
natsusan
0
210
Featured
See All Featured
jponch
103
5k
hursman
106
9.2k
shpigford
165
19k
sferik
610
54k
thoeni
4
550
danielanewman
200
20k
schacon
145
6.6k
keathley
18
650
holman
288
130k
pauljervisheath
196
15k
akmur
252
19k
shlominoach
176
7.4k
Transcript
Blithe Rocher OSCON May 18, 2016 ` MICROSERVICES WAR STORIES
@BLITHE
None
MICROSERVICES So…
A MONOLITH vs.
MICROSERVICES
WHY ARE MICROSERVICES SO POPULAR?
INDEPENDENT DEPLOYMENT & SCALABILITY 1 REASON
1 REASON
1 REASON
1 REASON
1 REASON
1 REASON
1 REASON
COMPARTMENTALIZE TEAMS & RESPONSIBILITIES 2 REASON
TECHNICAL DESIGN FREEDOM 3 REASON
FAULT TOLERANCE 4 REASON
WHY ME?
MAKING MISTAKES & LEARNING FROM THEM Experience
STORY TIME
SUPPORTING NEW CONTENT TYPE 1 STORY Story
STORY: Supporting New Content Type
STORY: Supporting New Content Type
STORY: Supporting New Content Type
CONTENT-TYPE: TEXT/HTML ☹ STORY: Supporting New Content Type
STORY: Supporting New Content Type
STORY: Supporting New Content Type
STORY: Supporting New Content Type PROBLEM?
STORY: Supporting New Content Type REMEDIES
REMOVING A FEATURE FLAG 2 STORY Story
UI Authorization Service STORY: Removing Feature Flags
DELETING CODE Yay! STORY: Removing Feature Flags
PROBLEM? STORY: Removing Feature Flags
REMEDIES STORY: Removing Feature Flags
TIGHTLY COUPLED SERVICES 3 STORY Story
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services ALL THE WAY DOWN Headaches
STORY: Tightly Coupled Services PRODUCTION
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services DEVELOPMENT
STORY: Tightly Coupled Services SERVICES NOT ISOLATED, ALL NEED TO
BE RUNNING
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services AUTOMATED TESTING
STORY: Tightly Coupled Services Microservice A Database Microservice B
STORY: Tightly Coupled Services VCR RECORDING Solution?
STORY: Tightly Coupled Services API Responses - 1992
STORY: Tightly Coupled Services VCR GEM STORY: Tightly Coupled Services
STORY: Tightly Coupled Services PROBLEM?
STORY: Tightly Coupled Services REMEDIES
STORY: Tightly Coupled Services
STORY: Tightly Coupled Services
STORY: Tightly Coupled Services BUNDLE EXEC RAKE TEST:REAL
STORY: Tightly Coupled Services BUNDLE EXEC RAKE TEST:MOCK
STRING VS INTEGER 4 STORY Story
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
ONE ENDPOINT TO RULE THEM ALL STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
STORY: String vs. Integer
PROBLEM? STORY: String vs. Integer
REMEDIES STORY: String vs. Integer
SUMMARY & TAKE AWAYS
THANKS! Questions? @Blithe
None