Why Sourcegraph switched from cloud SaaS to on-premises, self-hosted software

Vanesa Ortiz
5 min readOct 31, 2019

“Trust is great. Control is better.” — German proverb

In December 2017, Sourcegraph went from being a traditional cloud-hosted Software as a Service (SaaS) product to an on-premises, self-hosted product. This blog post covers what drove our decision and what challenges we encountered. It explains why we still believe that on-premises and self-hosted are the best way to ensure the success of a product dealing with sensitive customer data. We will focus on the technical benefits and challenges of this decision, some of which overlap with the positive business aspects that are mentioned in the Self-hosted > cloud-hosted (Open Core Summit 2019) talk by Sourcegraph CEO Quinn Slack.

Going against the SaaS trend

2017 was a challenging year for Sourcegraph. Despite having launched a SaaS product that performed code search and code intelligence with blazing speed across tens of thousands of repositories, we had only managed to close a handful of paying customers. Companies were constantly reaching out and requesting information about our product, which, in turn, endorsed the high demand for Sourcegraph. Yet, the conversion from interest to adoption was low. We asked company decision-makers why they had opted against using Sourcegraph despite the obvious demand from their engineers. The answer was always the same: they didn’t want to push their private codebase to an external software provider, no matter how many benefits we would provide them. This frequent feedback made us question if the SaaS model, despite its popularity and high success rate for many businesses, was the right solution for a product dealing with vulnerable data.

In mid-2017, we decided to go against the SaaS trend and turn our product into an on-prem, self-hosted solution.

The transition from cloud SaaS to on-prem

While a decade ago on-premises solutions were difficult to set up and required on-site installation, Continuous Integration (CI) has made it possible to verify builds in different environments and increase successful deployments off-site. Docker (for shipping) and Kubernetes (for container orchestration) simplify packaging up software and running it on AWS, Google Cloud or DigitalOcean. This infrastructure eased the way for Sourcegraph to transition from a multi-tenant cloud product to a self-hosted one.