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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
0
340
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
440
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
Go 1.27 における memory allocation の高速化
andpad
0
340
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.8k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
260
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
310
源内ハンズオン概要編
hideg
0
220
Oxlintはいいぞ(続)
yug1224
1
470
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
What's in a price? How to price your products and services
michaelherold
247
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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