In the last post, we discussed exception tracking tools and introduced Sentry as a best in breed solution. Due to its open source nature, Sentry has two options for deployment: SaaS and Self Hosting.
Sentry’s SaaS pricing model has 4 tiers:
- Developer – Free for a single developer working on a personal project
- Team – Limit on certain features (single sign on, analytics, etc)
- Business – Removes the limits at the Team tier
You can see the full feature set comparison on Sentry’s pricing page.
In general, most startups will fall into the Team or Business categories while larger businesses will want to take advantage of the Enterprise option. The biggest difference between the Business and Enterprise pricing option comes in terms of event volume.
In all three of the paid tiers, pricing is based around the number of events that your application(s) will send to Sentry. Events in Sentry represent individual exceptions and application encounters. If you have log aggregation set up already, you may be able to get a rough idea of the pricing tier you need by aggregating on the number of exceptions across your application(s) over a month.
Sentry provides comprehensive documentation for self hosting the service. They even have a repository containing a docker-compose file which makes bringing up all of the services a breeze. If you’re self hosting, you’ll have to pay for the VM(s) that you run the services on. You’ll also have to take care of any maintenance yourself such as managing upgrades and monitoring uptime.
Making your choice
Whether or not to self host Sentry ultimately comes down to how well you can support the service and what scale you need to operate at. If you have spare capacity you could easily see some benefit from self hosting. At small scale, Sentry’s service can largely run unattended once the initial configuration is done, so dedicated maintenance staff is not required. For smaller businesses or startups, this could definitely be a cheaper option.
For larger businesses, self hosting Sentry comes with the same challenges as self hosting any service:
- Sentry will quickly become a key tool in your organization so uptime needs to be monitored closely.
- HA and multi region availability are not provided “out of the box” with the docker-compose solution.
- You may encounter challenges around sudden traffic spikes for exceptions (around new version deployments for example).
- You will need to manage upgrades to the service yourself. If you are deploying Sentry on multiple nodes, this will need to be done with zero (or low) downtime so important exceptions are still captured.
- Just like log aggregators, Sentry uses a non-negligible amount of disk space at scale. You’ll need policies for rotating out old data and scaling the available disk space for your Sentry instances.
At a certain level of scale, these issues need to be addressed by dedicated Ops personnel who are familiar with hosting services like Sentry on-premises. If your organization has a mandate to host all data on-premises and has the personnel to cover these challenges then self-hosting Sentry is an option. Otherwise, larger organizations should look closely at the expected pricing differences between the SaaS option and self hosting to make their decision.