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
Ticketea Engineering
September 23, 2017
Programming
1
660
High-Impact refactors keeping the lights on
First presented at PyConES 2017
Ticketea Engineering
September 23, 2017
Tweet
Share
More Decks by Ticketea Engineering
See All by Ticketea Engineering
Python Static Typing with MyPy
ticketeaeng
0
320
Ticketea, scaling a highly transactional business
ticketeaeng
0
230
Introducción a React Native
ticketeaeng
0
200
Virtual Lines with Asyncio
ticketeaeng
0
120
Cloud and Devops at ticketea
ticketeaeng
0
180
Developing our Box Office app
ticketeaeng
0
89
Architecture and Devops 2015
ticketeaeng
1
410
ticketea internals
ticketeaeng
2
530
Other Decks in Programming
See All in Programming
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
11
3.4k
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
190
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
160
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.6k
Live Coding: Migrating an Application to Signals
manfredsteyer
PRO
0
130
Rubyの!メソッドをちゃんと理解する
alstrocrack
2
390
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
160
Boast Code Party / RubyKaigi 2025 After Event
lemonade_37
0
120
実践Webフロントパフォーマンスチューニング
cp20
46
11k
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
290
SpringBootにおけるオブザーバビリティのなにか
irof
1
690
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
110
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Balancing Empowerment & Direction
lara
0
50
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
122
52k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.5k
KATA
mclloyd
29
14k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Unsuck your backbone
ammeep
671
58k
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