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
650
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
88
Architecture and Devops 2015
ticketeaeng
1
400
ticketea internals
ticketeaeng
2
520
Other Decks in Programming
See All in Programming
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
920
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
7
6.4k
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
11
3.2k
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.4k
DenoでOpenTelemetryに入門する
yotahada3
2
280
アプリのビルドを楽にするかわいいスクリプトを作ってみた
reimim
0
120
RCPと宣言型ポリシーについてのお話し
kokitamura
2
130
ベクトル検索システムの気持ち
monochromegane
28
7.9k
フロントエンドテストの育て方
quramy
8
2.2k
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.1k
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
2.9k
Gunma.web #55
tinykitten
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
52
11k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Testing 201, or: Great Expectations
jmmastey
42
7.3k
Agile that works and the tools we love
rasmusluckow
328
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
The Invisible Side of Design
smashingmag
299
50k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
GitHub's CSS Performance
jonrohan
1030
460k
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