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
63
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
43
Python static typing with MyPy
kartones
0
67
Remote Work
kartones
0
87
Geospatial CSV Imports Hidden Complexity
kartones
0
49
Intro to GameBoy Development
kartones
0
96
Myths & The Real World of OpenSource Development
kartones
0
45
CartoDB Tech Intro
kartones
0
46
Copy Protection & Cracking History
kartones
0
120
Cómo ganar dinero con tus juegos online
kartones
1
110
Other Decks in Programming
See All in Programming
VitestのIn-Source Testingが便利
taro28
9
2.5k
GitHub Copilot for Azureを使い倒したい
ymd65536
1
340
知識0からカンファレンスやってみたらこうなった!
syossan27
5
280
flutter_kaigi_mini_4.pdf
nobu74658
0
160
Storybookの情報をMCPサーバー化する
shota_tech
3
1.2k
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
120
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
生成AI時代のフルスタック開発
kenn
7
840
リアーキテクチャの現場で向き合う 既存サービスの読み解きと設計判断
ymiyamu
0
130
データと事例で振り返るDevin導入の"リアル" / The Realities of Devin Reflected in Data and Case Studies
rkaga
3
2.4k
バイラテラルアップサンプリング
fadis
3
580
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
150
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
GitHub's CSS Performance
jonrohan
1031
460k
The Cult of Friendly URLs
andyhume
78
6.4k
Code Reviewing Like a Champion
maltzj
523
40k
How to train your dragon (web standard)
notwaldorf
91
6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Documentation Writing (for coders)
carmenintech
71
4.8k
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