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
730
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
350
Ticketea, scaling a highly transactional business
ticketeaeng
0
250
Introducción a React Native
ticketeaeng
0
220
Virtual Lines with Asyncio
ticketeaeng
0
160
Cloud and Devops at ticketea
ticketeaeng
0
200
Developing our Box Office app
ticketeaeng
0
110
Architecture and Devops 2015
ticketeaeng
1
460
ticketea internals
ticketeaeng
2
630
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
160
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
440
モダンOBSプラグイン開発
umireon
0
180
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
140
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
1.9k
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
3.4k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
170
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
160
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Accessibility Awareness
sabderemane
0
84
Fireside Chat
paigeccino
42
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
New Earth Scene 8
popppiees
1
1.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
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