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
Kartones
September 23, 2017
Programming
0
67
High-impact refactors keeping the lights on
Given at PyConES 2017, MadScalability & MindCamp 9.0
Kartones
September 23, 2017
Tweet
Share
More Decks by Kartones
See All by Kartones
Building Autonomous Agents with gym-retro
kartones
0
45
Python static typing with MyPy
kartones
0
71
Remote Work
kartones
0
94
Geospatial CSV Imports Hidden Complexity
kartones
0
55
Intro to GameBoy Development
kartones
0
100
Myths & The Real World of OpenSource Development
kartones
0
49
CartoDB Tech Intro
kartones
0
49
Copy Protection & Cracking History
kartones
0
120
Cómo ganar dinero con tus juegos online
kartones
1
120
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
840
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
680
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
970
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
440
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
愛される翻訳の秘訣
kishikawakatsumi
3
360
Cell-Based Architecture
larchanjo
0
150
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.2k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
Developing static sites with Ruby
okuramasafumi
0
340
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
290
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Leo the Paperboy
mayatellez
0
1.3k
A Soul's Torment
seathinner
1
2.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
320
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Crafting Experiences
bethany
0
24
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
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