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
Kartones
September 23, 2017
Programming
0
59
High-impact refactors keeping the lights on
Given at PyConES 2017, MadScalability & MindCamp 9.0
Kartones
September 23, 2017
Tweet
Share
More Decks by Kartones
See All by Kartones
Building Autonomous Agents with gym-retro
kartones
0
38
Python static typing with MyPy
kartones
0
61
Remote Work
kartones
0
78
Geospatial CSV Imports Hidden Complexity
kartones
0
43
Intro to GameBoy Development
kartones
0
89
Myths & The Real World of OpenSource Development
kartones
0
43
CartoDB Tech Intro
kartones
0
42
Copy Protection & Cracking History
kartones
0
110
Cómo ganar dinero con tus juegos online
kartones
1
110
Other Decks in Programming
See All in Programming
【Go言語】golangci-lintの使い方
tomo1227
0
270
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Advanced App Shrinking Techniques
cbeyls
2
150
Rust.Nagoya #1
codemountains
0
170
Product Management LT会_クアンド新家
shinshin
0
210
リハビリmruby
kishima
1
160
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
CSC307 Lecture 08
javiergs
PRO
0
330
小さな開発会社を作った理由
polidog
0
1.9k
CSC307 Lecture 13
javiergs
PRO
0
150
CSC307 Lecture 09
javiergs
PRO
1
500
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
RailsConf 2023
tenderlove
16
720
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
It's Worth the Effort
3n
181
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
Code Reviewing Like a Champion
maltzj
517
39k
We Have a Design System, Now What?
morganepeng
46
7k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Code Review Best Practice
trishagee
58
16k
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