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
Shipping Sentry
Search
Armin Ronacher
November 15, 2016
Programming
600
1
Share
Shipping Sentry
How we ship Sentry to production and on premises.
Armin Ronacher
November 15, 2016
More Decks by Armin Ronacher
See All by Armin Ronacher
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
690
Do Dumb Things
mitsuhiko
0
920
No Assumptions
mitsuhiko
0
390
The Complexity Genie
mitsuhiko
0
310
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
410
Runtime Objects in Rust
mitsuhiko
0
400
Rust at Sentry
mitsuhiko
0
570
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
280
Rust API Design Learnings
mitsuhiko
0
650
Other Decks in Programming
See All in Programming
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
160
Back to the roots of date
jinroq
0
220
第3木曜LT会 #28
tinykitten
PRO
0
110
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
210
Don't Prompt Harder, Structure Better
kitasuke
0
770
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
420
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
Programming with a DJ Controller — not vibe coding
m_seki
3
110
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
260
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.4k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Google's AI Overviews - The New Search
badams
0
980
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
180
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
350
Designing for Performance
lara
611
70k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Claude Code のすすめ
schroneko
67
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
RailsConf 2023
tenderlove
30
1.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
Armin Ronacher Shipping Sentry
Armin Ronacher @mitsuhiko Flask / Sentry / Lektor
Find the Slides at lucumr.pocoo.org/talks
reach out to me! I want to talk :)
sentry.io
None
None
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
「 GROWING THE TEAM 」
2.5 to 25 more process keep processes light keep developers
happy
2 locations process in code natural for us because of
the Open Source nature
「 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)
「 REPO STRUCTURE 」
move towards “monorepos” (but within what is possible with our
tools) {not as mono as we would like}
「 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 / yarn
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
「 BINARY DEPS 」
OS X & “manylinux”
C/C++/Rust Modules for Python
Build in Docker on old CentOS
Debian / RHEL / Ubuntu
「 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
testing danger.systems
「 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 reach out to me! I want to talk :)