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
Case study of the good enough architecture
Search
Jakub Kubryński
July 01, 2017
Programming
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Case study of the good enough architecture
Jakub Kubryński
July 01, 2017
More Decks by Jakub Kubryński
See All by Jakub Kubryński
Autonomous deployments in modern distributed systems
jkubrynski
1
130
Bulletproof communication in distributed systems
jkubrynski
0
580
JVM Workshop
jkubrynski
1
220
Engineering architecture
jkubrynski
0
850
JPA - Beyond Copy-Paste
jkubrynski
3
1.6k
Microservices - The Naked Truth Of The Maintainability
jkubrynski
1
750
Other Decks in Programming
See All in Programming
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
Java 27新機能 / Java 27 new features
kishida
2
150
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
690
すこし踏み込む CancellationToken
htkym
0
280
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
210
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
130
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
330
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
100
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Being A Developer After 40
akosma
91
590k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
WENDY [Excerpt]
tessaabrams
14
39k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
Site-Speed That Sticks
csswizardry
13
1.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
A Soul's Torment
seathinner
8
3.6k
Transcript
@jkubrynski CASE STUDY OF THE GOOD ENOUGH ARCHITECTURE JAKUB KUBRYNSKI
[email protected]
/ @jkubrynski / kubrynski.com
$ WHOAMI DEVSKILLER CO-FOUNDER BOTTEGA TRAINER DEVOXX.PL PROGRAM COMMITTEE MEMBER
OPEN SOURCE CONTRIBUTOR
"Have no fear of perfection - you'll never reach it."
― Salvador Dalí
WHAT YOU CAN LEARN FROM A STARTUP
IS THERE A PERFECT ARCHITECTURE?
FAST FEEDBACK AND COST-EFFECTIVE
1. MOST ORGANIZATIONS "DO AGILE" 2. MOST ORGANIZATIONS SHIP NEW
FEATURES IN MONTHS
DON'T DO AGILE. BE AGILE!
CONTINUOUS DELIVERY
RELEASE VS DEPLOYMENT
REGRESSION IS TOO EXPENSIVE
VERIFY CRITICAL PATHS AND LET YOUR USERS DO THE REST
BUT... CARE ABOUT UNIT TESTS AND FIX BUGS AS ASAP
AS POSSIBLE
MICROSERVICES AUTONOMOUS RELEASES CLOUD READY FAST PIPELINES
COMMUNICATION IS THE ROOT OF ALL EVIL
SLA 99.9 ^ 10 = 99.0
QUALITY SHARED MODEL? E2E TESTS?
CONTRACTS FTW! IF A==C && B==C THEN A==B
SAY NO TO VERSIONING BE UP TO DATE
PERFORMANCE
PERFORMANCE TESTS ARE EVEN MORE EXPENSIVE THAN REGRESSION
PERFORMANCE TESTS CANARY DEPLOYMENTS MONITORING
MONITORING IS THE NEW TESTING
MONITORING PERFORMANCE SYSTEM HEALTH EXCEPTIONS
METRICS EVERYWHERE LIVE BUSINESS INTELLIGENCE DATA DRIVEN ORGANIZATION
DATA DRIVEN MEANS ONLY VALUABLE STUFF
ANY ACTION IS AN INVESTMENT
THINK ABOUT ROI
SAFE TO FAIL MINIMIZE IMPACT
SAFE TO FAIL SELF-HEALING COMMUNICATION
SAFE TO FAIL INSTANT WARNING
SAFE TO FAIL ROLLBACK
SAFE TO FAIL ELIMINATE HUMAN ERRORS
REPEATABILITY
AUTOMATION
MACHINES COMPARED TO HUMANS: ARE GOOD IN REPEATING TASKS ARE
EASY TO ESTIMATE ARE MUCH CHEAPER
AUTOMATE TESTS
AUTOMATE DEPLOYMENTS
AUTOMATE SETUP
AUTOMATE INFRASTRUCTURE
EVERYTHING IS CODE APPLICATION SOURCE BUILD JOBS DEPLOYMENT PIPELINES DEPLOYMENT
SCRIPTS INFRASTRUCTURE OS CONFIGURATION APPLICATION PROPERTIES RUN BOOKS
NO BACKUPS * EXCEPT DATA AND GIT
MINIMIZE OVERHEAD BY KEEPING ORDER
CONVENTION OVER CONFIGURATION
CONVENTION EXAMPLE repository: git.acme.com/repos/{serviceName}.git artifactId: target/{serviceName}.jar application home: /opt/{serviceName} logs:
/opt/{serviceName}/logs/service.log dashboard: grafana.acme.com/dashboard/db/{serviceName} public ip: acme-prod-weu-{serviceName}-pip loadbalancer: acme-prod-weu-{serviceName}-lb VMs: acme-prod-weu-{serviceName}-vm-{i}
GOOD ENOUGH
KEY TAKEAWAYS MONITORING AUTOMATION CONVENTIONS CONTINUOUS DELIVERY
QUESTIONS?
THANKS FOR YOUR PATIENCE