This blog addresses the kind of thinking that needs to go into the self-managed vs SaaS decision when choosing where to host applications. At Replicated we believe in companies running self-hosted software either in their own physical data centers or in virtual private data centers on public cloud services. Indeed, our entire business model is built on customers running and managing third party software themselves. However, we also believe there is a place for SaaS applications, and it is important to understand how the decision between the self-managed vs SaaS is made.
We believe that there are two primary axes for this decision:
2. Proprietary advantage
An organization’s particular mix of these two attributes determines the appropriate mix of self-managed, on-prem software and SaaS.
Of the axes, secrecy is the easiest to quantify. Often this secrecy is mandated by legislation or industry compliance requirements, or at least best practices. The level of secrecy might vary from a flower shop which has no special secrecy requirements (beyond protecting customer credit card info) to three letter government agencies with vital state secrets. If your need for secrecy is high, then on-prem, multi-prem, and/or multi-region becomes requirements to prevent third-party incursion into data under your responsibility. Some items to think about with regards to secrecy when choosing between on-prem vs SaaS include:
Sometimes a SaaS can help with certain types of commodity data like payment card or email information by avoiding holding the information in its entirety. In other cases, the data is an important part of your business and must be handled with the required confidentiality.
Proprietary advantage is a more complex, but equally important topic. The idea behind this axis is that certain software is an important part of your business, and this software should be managed yourself for your own advantage and self-reliance. On one end of the spectrum you have software like email that is extremely commodity and offers little proprietary advantage. If you don’t have specific secrecy concerns, it makes a ton of sense to let someone else manage your email. On the other end, you might have a queue that is an essential part of your online ordering system.
We will dive into a few aspects that make up proprietary advantage as you choose between self-managed vs SaaS:
There are several different things to consider when thinking about the importance of availability to your business of software hosting.
Will the software company continue to exist? Will they continue to offer this particular service? This is the most basic kind of availability and can have a large impact on your business. Running your software on-prem guarantees some level of availability of the software running in your own control.
Can the SaaS software meet your current SLAs? If they can, can they meet your future SLAs? Do you have kind of control over that part of your business to improve SLAs? If you implement a technology like global load balancing or a service mesh can the software leverage that to improve your availability?
In the case of a disaster, are you confident that the software service can restore in a timeline that is satisfactory to your needs?
If you find that for this decision you don’t need those strong availability guarantees, then it might be an opportunity to allow someone else to run it as a SaaS.
The portability of your application and your data can prove to be an important factor in deciding whether to choose self-managed vs SaaS.
Does this software directly impact your customers? If it does, choosing to host yourself can provide an advantage for being able to potentially activate features or architectures that a SaaS might not offer. Or in some cases, you might find some SaaS offerings, for example something like a CDN, you might not be able to offer yourself. For customer facing software it's extremely important to weigh the impact and be sure that you can guarantee the customer experience that is expected.
Finally, for business impact, one should consider how it might impact the software development of your business services. Can this service be integrated easily into your QA, Dev, feature environments, and/or developer workstations?
Finally, let’s consider something missing on the axis above: cost. When you’re considering how to run your workload cost is obviously a major factor for a business. You might find a SaaS that has dedicated ASICs for your workload and offers a substantial discount over what you could create yourself. Or on the other end of the spectrum you may find that the only affordable way to run your workload is on your own IaaS with specific hardware which necessitates customer managed software.
Another aspect of cost is operational cost. Clearly the hope is that SaaS offerings will reduce the operational costs to your company and often it does. However, this can be mitigated by running commercial software on a standard platform that includes container orchestration, observability, and operational intelligence. Further, this operational cost can have halo effects, like if you decide to keep your source control system self managed for secrecy or proprietary concerns, you’ll likely find it will be more cost effective to keep your CI platform also self managed.
For more information about why people are choosing self-managed vs SaaS software, you can view our market research. Please reach out to us on LinkedIn and twitter and let us know how you choose between on-prem and SaaS for your workloads.