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
High-impact refactors keeping the lights on
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kartones
September 23, 2017
Programming
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
High-impact refactors keeping the lights on
Given at PyConES 2017, MadScalability & MindCamp 9.0
Kartones
September 23, 2017
More Decks by Kartones
See All by Kartones
Building Autonomous Agents with gym-retro
kartones
0
52
Python static typing with MyPy
kartones
0
86
Remote Work
kartones
0
100
Geospatial CSV Imports Hidden Complexity
kartones
0
62
Intro to GameBoy Development
kartones
0
110
Myths & The Real World of OpenSource Development
kartones
0
53
CartoDB Tech Intro
kartones
0
57
Copy Protection & Cracking History
kartones
0
140
Cómo ganar dinero con tus juegos online
kartones
1
130
Other Decks in Programming
See All in Programming
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
590
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
680
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
500
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1k
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
170
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
160
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
220
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
150
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
380
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Music & Morning Musume
bryan
47
7.3k
WCS-LA-2024
lcolladotor
0
730
Mind Mapping
helmedeiros
PRO
1
290
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
380
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Transcript
High-impact refactors keeping the lights on @Kartones Diego Muñoz
01. What 02. Why 03. How 04. When Agenda
What
What
What
Why
Why
Why
How
Mega structures How
Mega structures How
DB High-frequency selling How CMS API CRUD Current (simplified) flow
How Extend, not modify* API DB High-frequency selling CRUD CMS
REDIS EVENT BUS EVENT BUS APU *do modify if needed to allow extension
Patterns & Practices - Parallel change - Strangler How API
DB High-frequency selling CRUD CMS REDIS EVENT BUS EVENT BUS APU
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU Patterns & Practices - Event Bus - Cursor-based - N writers/readers
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU Patterns & Practices - Event Sourcing
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU “Build exciting things with boring nice technologies” - Python 3.6 · Strongly typed (Mypy) · Dockerized - Redis with LUA - AWS Kinesis github.com/ticketea/pynesis
When
When Continous Iteration - No hard deadline - Desired: soon
:-)
Latest benchmark: ~4100 ops/sec - Single CPU core, 20k tickets,
50k concurrent users - Attacking internal API - Room for optimization When
Current status: - Free events - Paid events on their
way · Play safe (money involved!) · Lots of payment methods When
Release plan: - Now: Hack (Special payment method) - 1.0:
Feature Toggling When
Rollout plan 01. Canary: big free event 02. Dark launch:
on paid events 03. B/G: Gradual switch When
THE END Thanks! @Kartones