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
420
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
240
Do Dumb Things
mitsuhiko
0
680
No Assumptions
mitsuhiko
0
210
The Complexity Genie
mitsuhiko
0
230
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
340
Runtime Objects in Rust
mitsuhiko
0
360
Rust at Sentry
mitsuhiko
0
490
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
220
Rust API Design Learnings
mitsuhiko
0
580
Other Decks in Programming
See All in Programming
Constant integer division faster than compiler-generated code
herumi
2
570
Reactの歴史を振り返る
tutinoko
1
180
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
600
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
760
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
840
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
130
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
6
1.4k
令和最新版手のひらコンピュータ
koba789
13
7.2k
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
110
Flutterと Vibe Coding で個人開発!
hyshu
1
240
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to train your dragon (web standard)
notwaldorf
96
6.2k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Into the Great Unknown - MozCon
thekraken
40
2k
The Invisible Side of Design
smashingmag
301
51k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
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