Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
High-Impact refactors keeping the lights on
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ticketea Engineering
September 23, 2017
Programming
780
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
400
Ticketea, scaling a highly transactional business
ticketeaeng
0
270
Introducción a React Native
ticketeaeng
0
230
Virtual Lines with Asyncio
ticketeaeng
0
190
Cloud and Devops at ticketea
ticketeaeng
0
230
Developing our Box Office app
ticketeaeng
0
120
Architecture and Devops 2015
ticketeaeng
1
490
ticketea internals
ticketeaeng
2
660
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
960
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Workers Cache を知る
syumai
0
350
パーソナライズPodcastを作った話
repunit11
0
130
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
200
The Rails Doctrine Decade
koic
2
560
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
610
sbt 2.0: takeoff
eed3si9n
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
550
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
190
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
Code Review Best Practice
trishagee
74
20k
Ethics towards AI in product and experience design
skipperchong
2
420
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
How to Ace a Technical Interview
jacobian
280
24k
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