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
Iterate and Ship
Search
Armin Ronacher
May 10, 2016
Programming
4
430
Iterate and Ship
How we iterate and ship at Sentry.
Armin Ronacher
May 10, 2016
Tweet
Share
More Decks by Armin Ronacher
See All by Armin Ronacher
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
470
Do Dumb Things
mitsuhiko
0
840
No Assumptions
mitsuhiko
0
320
The Complexity Genie
mitsuhiko
0
280
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
390
Runtime Objects in Rust
mitsuhiko
0
370
Rust at Sentry
mitsuhiko
0
540
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
260
Rust API Design Learnings
mitsuhiko
0
630
Other Decks in Programming
See All in Programming
Python札幌 LT資料
t3tra
7
1.1k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
650
AgentCoreとHuman in the Loop
har1101
5
190
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
680
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.6k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
180
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
210
余白を設計しフロントエンド開発を 加速させる
tsukuha
6
1.8k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
180
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
810
クラウドに依存しないS3を使った開発術
simesaba80
0
230
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.4k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
220
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
140
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Paper Plane (Part 1)
katiecoart
PRO
0
3.3k
My Coaching Mixtape
mlcsv
0
29
Typedesign – Prime Four
hannesfritz
42
2.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
160
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
150
Color Theory Basics | Prateek | Gurzu
gurzu
0
180
Transcript
Armin Ronacher iterate and ship
Armin Ronacher @mitsuhiko Flask / Sentry / Lektor
̿ SENTRY ̀
None
None
None
̿ THE TWO PRODUCTS ̀
sentry vs ‘getsentry’
sentry open source repo on-premise monthly releases
‘getsentry’ billing & quotas depends on sentry hourly deploys
̿ THE GOALS ̀
deploy in seconds be unable to screw up and if
you do: instant rollbacks
tag a release once a month
̿ WORKFLOW ̀
commit review integration deploy
requires good test coverage requires good local setup makes it
easier for newcomers
̿ COMMITTING ̀
lint on commit!
1 Release / Month 5 Deployments / Day On Prem:
Hosted:
None
master is stable
1. branch off master 2. pull request 3. merge
all the pull requests
!! AVOID DOWNTIME !!
postgres <3 transactional ddl, concurrent indexes, cheap alter table add
nullable columns
bidirectional compatibility
separation of state and connections
̿ CONTINUOUS TESTING ̀
sentry travis-ci.org test all the code
‘getsentry’ travis-ci.com test code relevant for us
̿ CONTINUOUS DELIVERY ̀
FREIGHT wait for travis > build > ship
bidirectional communication with the main slack channel
dev never matches prod :(
thus: fast rollbacks! (backwards + forwards compatibility)
̿ CODE STRUCTURE ̀
large systems are organisms
not all things will run the same code at the
same time
data schema ~ code behavior
break up larger features
feature flag it! (we shipped some code to on-prem we
backed out)
̿ MOVING PARTS ̀
keep dev basic: fewer parts
do not diverge dev from prod too much
virtual machines and docker are not an acceptable dev environment
̿ REPRODUCIBLE BUILDS ̀
pip freeze / npm shrinkwrap
nothing is more frustrating than a failed deploy because a
dependency of a dependency of a dependency of a dependency pushed out a broken release
build once > ship to many
̿ MONITOR FAILURES ̀
associate failures to users
map support requests to failures
use sentry :-)
̿ FRIENDLY ROBOTS ̀
replace yourself!
bots and webhooks
github hooks
notify to communication hub
̿ BETTER CLIMATE ̀
the more robots, the better the integration, the smaller the
fear of doing damage
If you can launch a feature on your first day
of work that's motivating
also: happy customers
Q&A