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
65
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
68
Remote Work
kartones
0
88
Geospatial CSV Imports Hidden Complexity
kartones
0
52
Intro to GameBoy Development
kartones
0
97
Myths & The Real World of OpenSource Development
kartones
0
45
CartoDB Tech Intro
kartones
0
47
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
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
500
型で語るカタ
irof
0
350
PicoRuby on Rails
makicamel
2
140
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
880
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
11k
すべてのコンテキストを、 ユーザー価値に変える
applism118
4
1.4k
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
580
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
96
33k
ニーリーにおけるプロダクトエンジニア
nealle
0
880
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
570
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
970
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Scaling GitHub
holman
460
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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