Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Microservices - The Naked Truth Of The Maintain...
Search
Jakub Kubryński
April 03, 2017
Programming
750
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Microservices - The Naked Truth Of The Maintainability
Jakub Kubryński
April 03, 2017
More Decks by Jakub Kubryński
See All by Jakub Kubryński
Autonomous deployments in modern distributed systems
jkubrynski
1
140
Bulletproof communication in distributed systems
jkubrynski
0
580
JVM Workshop
jkubrynski
1
220
Engineering architecture
jkubrynski
0
850
Case study of the good enough architecture
jkubrynski
0
490
JPA - Beyond Copy-Paste
jkubrynski
3
1.6k
Other Decks in Programming
See All in Programming
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
210
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
290
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
200
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
240
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
240
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
360
Modernizing iOS Apps
seyfoyun
0
130
ActionController meets Protocol Buffers
sorah
1
740
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Everyday Curiosity
cassininazir
0
370
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
The Curious Case for Waylosing
cassininazir
1
590
30 Presentation Tips
portentint
PRO
1
450
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
660
Music & Morning Musume
bryan
48
7.5k
Making Projects Easy
brettharned
120
6.8k
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í