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
770
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
High-Impact refactors keeping the lights on
First presented at PyConES 2017
Ticketea Engineering
September 23, 2017
More Decks by Ticketea Engineering
See All by Ticketea Engineering
Python Static Typing with MyPy
ticketeaeng
0
380
Ticketea, scaling a highly transactional business
ticketeaeng
0
260
Introducción a React Native
ticketeaeng
0
230
Virtual Lines with Asyncio
ticketeaeng
0
180
Cloud and Devops at ticketea
ticketeaeng
0
220
Developing our Box Office app
ticketeaeng
0
120
Architecture and Devops 2015
ticketeaeng
1
480
ticketea internals
ticketeaeng
2
650
Other Decks in Programming
See All in Programming
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.7k
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
930
「人を評価する AI」の設計と実装
ryoyanara
0
200
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
790
React本体のコードリーディング
high_g_engineer
1
140
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
190
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
320
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.8k
数百円から始めるRuby電子工作
tarosay
0
150
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
520
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
The Cult of Friendly URLs
andyhume
79
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
We Have a Design System, Now What?
morganepeng
55
8.3k
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