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
690
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
490
JVM Workshop
jkubrynski
1
190
Engineering architecture
jkubrynski
0
790
Case study of the good enough architecture
jkubrynski
0
390
JPA - Beyond Copy-Paste
jkubrynski
3
1.5k
Other Decks in Programming
See All in Programming
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
5
390
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
Immutable ActiveRecord
megane42
0
140
Ruby on cygwin 2025-02
fd0
0
150
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
440
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
170
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building an army of robots
kneath
303
45k
Building Adaptive Systems
keathley
40
2.4k
Unsuck your backbone
ammeep
669
57k
How GitHub (no longer) Works
holman
314
140k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Thoughts on Productivity
jonyablonski
69
4.5k
4 Signs Your Business is Dying
shpigford
182
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
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í