Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Microservices - The Naked Truth Of The Maintain...
Search
Jakub Kubryński
April 03, 2017
Programming
1
720
Microservices - The Naked Truth Of The Maintainability
Jakub Kubryński
April 03, 2017
Tweet
Share
More Decks by Jakub Kubryński
See All by Jakub Kubryński
Autonomous deployments in modern distributed systems
jkubrynski
1
120
Bulletproof communication in distributed systems
jkubrynski
0
520
JVM Workshop
jkubrynski
1
190
Engineering architecture
jkubrynski
0
810
Case study of the good enough architecture
jkubrynski
0
430
JPA - Beyond Copy-Paste
jkubrynski
3
1.6k
Other Decks in Programming
See All in Programming
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
CSC305 Lecture 09
javiergs
PRO
0
300
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
360
Devvox Belgium - Agentic AI Patterns
kdubois
1
140
iOSでSVG画像を扱う
kishikawakatsumi
0
150
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
300
技術的負債の正体を知って向き合う
irof
0
230
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
140
理論と実務のギャップを超える
eycjur
0
170
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
400
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
Featured
See All Featured
Visualization
eitanlees
149
16k
A designer walks into a library…
pauljervisheath
209
24k
GraphQLとの向き合い方2022年版
quramy
49
14k
How to train your dragon (web standard)
notwaldorf
97
6.3k
We Have a Design System, Now What?
morganepeng
53
7.8k
How STYLIGHT went responsive
nonsquared
100
5.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
570
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Music & Morning Musume
bryan
46
6.9k
Faster Mobile Websites
deanohume
310
31k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
@jkubrynski / kubrynski.com MICROSERVICES THE NAKED TRUTH OF THE MAINTAINABILITY
JAKUB KUBRYNSKI
[email protected]
/ @jkubrynski / kubrynski.com
$ WHOAMI DEVSKILLER CO-FOUNDER BOTTEGA TRAINER DEVOXX.PL PROGRAM COMMITTEE MEMBER
SPRING CLOUD CONTRACT CO-AUTHOR
Prawdziwego programistę poznaje się nie po tym, jak zaczyna, ale
jak utrzymuje.
HOW MICRO? 100 LOC? 1K LOC? 10K LOC? 100K LOC?
1K LOC AVERAGE ENTERPRISE APP == 500K LOC 1 ENTEPRISE
APP == 500 MICROSERVICES
BUSINESS ORIENTED FOR TECHNICAL STUFF WE HAVE LIBS
AUTONOMY
INDEPENDENCE P = P(1) * P(2) * ... * P(N)
99.8 * 99.8 * 99.8 = 99.4
99.9 ^ 10 = 99.0
AVAILABILITY VS DOWNTIME 9 9 . 9 9 9 %
35d 4d 8h 50m 5m per year 2.5h 14m 1.5m 8s 0.8s per day
DEPTH * * SYNCHRONOUS
QUALITY
LOOSE COUPLING OVER CANONICAL MODEL
AVOID END-TO-END TESTS
VERIFY CONTRACTS IF: A == C && B == C
THEN: A == B
DESIGN FOR FAILURE
RETRY
CIRCUIT BREAKER KEEP CALM AND FALLBACK
FIX AS ASAP AS POSSIBLE
PERFORMANCE
PERFORMANCE TESTS EXPENSIVE INACCURATE TRICKY
PRODUCTION TRAFFIC IS USUALLY ON PRODUCTION
MONITORING APPLICATION PERFORMANCE MANAGEMENT
ANSCOMBE'S QUARTET
PERCENTILES P50, P90, P95, P99
P?? P95? P99? P99.5?
10 REQUESTS PER PAGE P90: 100% slow page views P95:
50% slow page views P99: 10% slow page views
P99 10 PAGES PER SESSION MEANS 100% FRUSTRATED USERS
MONITOR P99.9 OR P99.95
AUTOMATION * * AS A CODE
PIPELINES AS A CODE
INFRASTRUCTURE AS A CODE
CONFIGURATION AS A CODE
None
QUESTIONS?
THANKS
"Have no fear of perfection - you'll never reach it."
― Salvador Dalí