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
680
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
110
Bulletproof communication in distributed systems
jkubrynski
0
480
JVM Workshop
jkubrynski
1
190
Engineering architecture
jkubrynski
0
780
Case study of the good enough architecture
jkubrynski
0
380
JPA - Beyond Copy-Paste
jkubrynski
3
1.5k
Other Decks in Programming
See All in Programming
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
710
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
160
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
770
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
310
Haze - Real time background blurring
chrisbanes
1
510
Beyond ORM
77web
3
380
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Building Your Own Lightsaber
phodgson
103
6.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Site-Speed That Sticks
csswizardry
2
190
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
KATA
mclloyd
29
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Making the Leap to Tech Lead
cromwellryan
133
9k
How STYLIGHT went responsive
nonsquared
95
5.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
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í