With the shift from traditional monolithic applications to the distributed microservices of DevOps, there is a need for a similar change in operational security policies. For…
A key decision that must be made in a product’s lifecycle is SaaS vs Hosted. Should we be only employing the use of hosted solutions, or are we going to utilize SaaS homegrown solutions?
Hosted solutions are services from providers like AWS and Azure, that take away the operational burden from some well-known pieces of tech, like Kafka or Grafana. SaaS solutions on the other hand are platforms like Coralogix, that offer proprietary value. They each offer benefits and drawbacks. Let’s get into it.
‘Software as a service’ is a complete, proprietary solution including all of the infrastructure, software, and components. It is defined as software that is made available on-demand and is most often provided from the Cloud. A user can simply create an account, purchase a subscription, and never have to worry about backend infrastructure or deploying the application.
Great examples of these services are Office365 and G-Suite allowing users to easily edit and save documents in the Cloud.
A hosted solution takes an open-source tool and bundles it into a managed, core product. For example, AWS offers a hosted Kafka service. The user pays for its usage of the CPU and a fixed overhead for the maintenance of the Kafka instance. In exchange, the end-user doesn’t need to worry about the patching and maintenance of the service.
There are some key considerations to make when choosing between a SaaS offering and a hosted service. These criteria are key to ensuring that you’re making the best architectural decision for your project.
When you pay for a hosted service, you’re paying for the bare minimum. You’re paying for the CPU and the assumption is that you can take it from there. That means you will get little help understanding optimal use of the software and maximizing efficiency.
A SaaS offering can vary in this respect, but they almost uniformly provide methods for optimizing your use of the platform. For example, Coralogix’s support team is available 24/7 to help customers normalize their log data and reduce storage costs. This service and functionality are wrapped in your subscription fee. Rather than simply paying to host and use a software, you’re paying for a full service.
If your hosted service malfunctions because of your usage, you’re still the one getting out of bed. This is because the line of responsibility is firmly on your side. You may not be responsible for the NFRs of your hosted service, but if you misconfigure your instance, it is very much on you.
In most cases, the pricing models of both hosted solutions and SaaS offerings are similar. You pay for usage, plus some fixed overhead paid as a service charge to the provider. SaaS offerings are typically a little more expensive here because they offer more features and have taken on more of the support burden.
If you’re one of the few clients who are operating at a large scale, your operational cost will come down to two things:
With many hosted services, the former is an option but the latter is very rarely on the table. You will pay a price on a fixed scale, with no debate or wiggle room. This means that if you need a large scale engagement with your hosted service, you should prepare for large scale spending.
For SaaS services, beyond a certain size (i.e. enterprise) they actually encourage you to get in contact to review pricing. Remember, they have greater control of their system, which means they can make special provisions to cut costs and optimize your engagement with them. For example, spinning up a separate cluster for you, rather than putting you onto a less optimized, shared cluster.
Open-source software comes with learning curves of varying degrees. In some cases, the software is highly intuitive and simple. In others, it is complex and niche. For example, it is very difficult for one to intuit the best possible practices for your Kafka instance. Kafka has a great deal of configurations that all require time, effort, and experimentation to understand and optimize.
SaaS offerings are all about ease. Rather than offering you a thousand different options, they will most commonly abstract this functionality behind a much more user-friendly interface. This is because they are creating an entirely new product – an abstraction – that is built to serve a wider community of consumers.
Features comparisons are common when buyers are considering products, and it’s possible that features may be largely similar when weighing up a SaaS vs hosted product or service. However, there are a few key things to consider before making your decision.
As a general rule, hosted solutions or services only have the features of the core product. Enhancements are often reliant on in-house expertise specific to the product. In some cases, new features being released may offer needed benefits, but this is typically less frequent and more of a manual process with hosted solutions. Plus, any newer features will not deviate much from the original product.
Conversely, with SaaS products or services, the developers have much more freedom, enabled by things like cloud-native application development and open source technologies. This trickles down to the customer, giving them faster and varied feature releases, a greater degree of out-of-the-box customization, and often direct feedback to the product development team.
As a SaaS customer, you may even be given early access to a beta feature before it goes to general release. This integrated customer experience is a major reason why the popularity of SaaS is on the rise.
Vendor lock-in is something typically associated with monolithic on-prem solutions, but it can be just as common with modern hosted and SaaS solutions. It typically occurs when a software or service manufacturer develops specific features or architectures in a way which makes it either too costly or time-consuming to move to another platform.
The issue of vendor lock-in is far more common with hosted solutions, just by nature of their installation and maintenance requirements. However, there is a danger with SaaS providers as well.
A benefit of SaaS solutions is that the mechanisms for avoiding vendor lock-in are easier and more accessible than with hosted solutions. It’s far easier to build system abstractions around a third-party solution if it’s a SaaS product. Working with open standards and portability in mind will serve you well. More often than not, the proprietary features from a SaaS provider give you the resource to carry out such portability work.
Typically, a customer’s biggest concern is that the SaaS provider will hold their data hostage if they choose to leave or migrate to another platform. There are two ways to mitigate against this happening. First, choose well-reviewed and robust enterprise-grade SaaS solutions. Second, always have a disaster recovery solution in place. If your DR strategy can’t cope with a vendor holding onto your data, then it certainly can’t cope with a ransomware attack.
When it comes down to it, there’s a number of reasons why the vast majority of customers will have a majority-SaaS workspace or architecture in the coming years. The support model for SaaS solutions may add to the price but greatly detracts from your CAPEX when considering on-call staff or 24/7 NOCs.
Built with cloud-native, open-source principles, SaaS products and homegrown solutions are designed for ease. Functionalities are dictated by customer requirements, as opposed to hosted solutions with a near-infinite number of configurations, which have their own interdependencies and considerations. With a SaaS vendor, you’re much more likely to get a say in what that next feature might look like.
SaaS solutions are designed for easy consumption and are centered around customer success. If you’re concerned about vendor lock-in, you’re in a much better position with a SaaS solution than a hosted one.
All in all, the choice between SaaS vs Hosted should be an easy one.