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
570
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
290
Ticketea, scaling a highly transactional business
ticketeaeng
0
220
Introducción a React Native
ticketeaeng
0
190
Virtual Lines with Asyncio
ticketeaeng
0
110
Cloud and Devops at ticketea
ticketeaeng
0
180
Developing our Box Office app
ticketeaeng
0
81
Architecture and Devops 2015
ticketeaeng
1
350
ticketea internals
ticketeaeng
2
470
Other Decks in Programming
See All in Programming
Regular Expressions, REXML, Automata Learning
makenowjust
0
220
A New Era of Testing
mannodermaus
2
490
【TID2024】模擬講義:プログラマと一緒にゲームをデザインしてみよう!
akatsukigames_tech
0
640
今インフラ技術をイチから学び直すなら
yuhta28
1
130
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
120
o1モデルのプロンプトエンジニアリングって?
ktc_wada
0
170
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
220
2024 컴포즈 정원사
jisungbin
0
150
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
LangChainの現在とv0.3にむけて
os1ma
4
910
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
470
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
Featured
See All Featured
Navigating Team Friction
lara
183
13k
Designing the Hi-DPI Web
ddemaree
278
34k
Scaling GitHub
holman
458
140k
RailsConf 2023
tenderlove
28
810
Writing Fast Ruby
sferik
623
60k
4 Signs Your Business is Dying
shpigford
179
21k
Unsuck your backbone
ammeep
667
57k
Producing Creativity
orderedlist
PRO
340
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Agile that works and the tools we love
rasmusluckow
327
20k
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