-
Time for Sentry to retire... Metric is ready to take over.
10/08/2026 at 20:54 • 0 comments![]()
Disclaimer: this article is written with bias, bile, and tables. The author believes infrastructure should work for you, not the other way around. If you're a Sentry fan - read to the end; you'll have plenty to bring up in the comments.
Act one, in which we buy a ticket to the zoo
Everyone who has ever stood up a self-hosted Sentry remembers this moment. You clone
getsentry/self-hosted, run./install.sh, and go make coffee. You come back, and Docker is still pulling images. You opendocker-compose.yml, and the fun begins: time to meet the family.Here is the official Compose file for release 26.7.2. It contains 65 (sixty-five) service definitions. Sixty-five, Carl! That's not a typo and not an exaggeration for dramatic effect - it's a file from the official repository; open it and count for yourself. Yes, some of them are profiles and one-shot jobs. But even the "production" cast includes: Sentry web, workers (several kinds!), Relay, Snuba (API + consumers), Kafka, ZooKeeper, ClickHouse, PostgreSQL, Redis, Memcached, Symbolicator, Vroom, cron, and so on down the list until your eyes get tired.
Sixty-five services. To catch stack traces. Words fail me.
Let's put this in perspective. A stack trace is text. A JSON document of a few kilobytes. Humanity learned to accept JSON over HTTP around 2005. And to store that JSON and show it in a web UI, Sentry asks you to run a Kafka message broker (with ZooKeeper included, naturally), the ClickHouse columnar analytical database, a separate PostgreSQL relational database, two different caches, the Relay proxy layer, Python queue workers, a standalone Snuba service that translates internal API queries into ClickHouse's dialect, and the Vroom profiler - and that's still not the whole list.
Now, the hardware. The official system requirements:
- 4 CPU cores;
- 16 GB RAM - and that's the minimum; below it the installer flat-out refuses to run;
- 16 GB of swap (yes, swap the size of your RAM - a quiet moment of self-irony);
- 20 GB of disk - to start with; after that, ClickHouse will decide for itself.
Plus a gentle footnote: "32 GB recommended". Battle-scarred operators on the
getsentry/self-hostedissue tracker nod along: under real load, a comfortable life starts at 24–32 GB, because ClickHouse alone can bite off 8–12 GB without blinking.Thirty-two gigabytes of RAM. To watch your side project crash.
For comparison: a machine like that could run half the microservice infrastructure of an average startup! But no - it will be keeping 65 containers warm, so that you can learn about
TypeError: undefined is not a functionin a timely fashion.Act two, in which the author puts on a tinfoil hat
Now, the million-dollar question (literally - Sentry's revenue is estimated in the hundreds of millions): is this an accident?
Look at this beautiful mechanism:
- Sentry is an excellent product. No argument there. The UX is gold-standard, the SDKs are lovely, the ecosystem is huge. You genuinely want to use it.
- The SaaS version costs money. Prices grow with event volume, and at some point the bill starts resembling the rent on a small property.
- "But we're open source!" Sentry says. "Take the self-hosted version!" And it hands you a 65-container leviathan that demands a dedicated engineer, 16+ GB of RAM, and nerves of steel.
- After a month of operating the leviathan, the average team reaches the only rational conclusion: "It's easier to just pay for SaaS."
A heretical thought occurs: what if this homemade monster is part of the sales funnel? The perfect inoculation against self-hosting as a concept. "See how hard it is? Now look at our Team plan - just $26 a month, zero pain."
Let's spice it up. Sentry hasn't been open source in the strict sense for a while: its license is the Functional Source License (FSL 1.1) - "source available", with a ban on competing with Sentry's cloud. So you may look at the code, but building your...
Read more »
CodeContaining Product
Lutetium