Why buyers should care about how a SaaS offering does what it does
There is a consulting industry truism that states: “The Money is in the Mystery”. The more complex a problem, the more value exists in the buyer of the product or service simply not having to worry with that complexity. This same line of reasoning is very prominent today when software vendors are presenting their offerings as a service (SaaS) to potential customers. The big pitch for SaaS offerings is that you as the customer can quickly get the business value you seek and not have to worry about installing the software, ongoing care and feeding of any infrastructure or executing future upgrades and patches. In short, you don’t need to worry about how the software does what it does, just that it does it and does it reliably all the time. To borrow a phrase from The Wizard of Oz: “Pay no attention to that man behind the curtain…”. The problem is, how the software does what it does will have a huge impact on the software vendors ability to deliver on their promise of continued innovation and business value. In the following paragraphs I will point out a few aspects of a SaaS offering that can impact its ability to deliver on its promised value. While certainly not an exhaustive analysis, confronting a potential SaaS vendor with these questions will go a long way in helping you separate the wheat from chaff.
What SaaS is and what it is not
The fact that software gets delivered to you as a service says a lot about how the software is hosted and little (but not nothing) about how the software is architected. How a software gets hosted will determine characteristics like how much you can customize your instance of the software, how easily the vendor will be able to scale performance as your business grows and what sort of costing model the vendor will be abler to offer. How a software is architected will tell you more about how fast a vendor will be able to innovate, leverage new cloud technologies to manage their cost and attract and keep top notch software engineering talent.
Hosting models, what SaaS is about
Various iterations of hosting models exist with some of the most popular being:
The software provider will dedicate hardware to you and install the software you are buying just for you. Some vendors like to call this “Private Hosted Cloud” to make it sound fancy. The vendor will manage everything for you and charge you a recurring fee. In this model you will lots of flexibility in how much you can customize the software package as the particular instance of the software is yours and yours alone, not shared by other organizations. That flexibility will come with a price both in terms of the service and in terms of your tendency to customize the software to meet your specific needs, diverging from the standard offering and ultimately increasing your support costs from the vendor and making upgrades and ongoing management harder and more expensive. If the vendor has to employee resources with specific knowledge of all your special bells and whistles, they will pass that cost on to you. This model will likely have a step variable cost structure when it comes to scaling for performance as your business grows. When you get close to maxing out that hardware capacity, new capacity will have to get purchased by the vendor just for you. The new capacity is normally bought in certain increments based on your business projected growth rate over some future time period. So for some period of time, you will be over provisioned but the vendor will have to pass along their CAPEX expense to you in the form of increased service fees. Private hosting is often considered the most secure SaaS model as nothing gets shared with other customers.
Hosted Public Cloud
This is where things start to get confusing. Software vendors can use public cloud services like Amazon Web Services (AWS), Microsoft Azure or Google Public Cloud (GCP) to run instances of their software. When a SaaS provider uses these services as their hosting platform, it gives them greater flexibility in how they can provision the underlying compute and storage resources need to host the software they are selling. As a general rule, public cloud providers offer compute and storage resources as either Infrastructure as a Service (IaaS) or Platform as a Service (PaaS). IaaS services are generally more expensive to operate than PaaS services. Knowing how a SaaS provider is leveraging public cloud resources tells you something about the vendors ability to easily scale and offer more flexible costing models as you grow. When a SaaS provider tells you that their offering is hosted on one of the big public cloud providers, asking some follow-on questions about how specifically they have their infrastructure configured, what specific regions does their infrastructure utilize and how do they monitor and govern their own public cloud costs will tell you something about the vendors cost model, operational performance and their ability to meet you specific needs in terms of potential industry specific regulations.
I stated earlier that SaaS says little but not nothing about how a software is architected. It is sometimes argued that a true SaaS offering is one that leverages multitenancy. In a multitenant SaaS offering, you are using the same software instance as all other customers of the service. In addition, your data is usually stored in a shared database separated logically from other customers by a customer ID. With multitenancy, you have far less, if any, flexibility in making software customizations to meet your specific needs. Software features are generally released on a regular cadence and go simultaneously to all customers. You get these releases, ready or not so you will need to make sure you are prepared organizationally to handle regular changes and updates to the software platform. Not having to have software engineers skilled in specific customizations for specific customers allows vendors to better control their costs. The vendors cost to scale compute infrastructure to meet its customers’ needs is no longer tied directly to your specific growth trajectory, smoothing out the step wise cost increases you would face under Private Cloud Hosting. It’s important to know exactly how the underlying compute infrastructure is designed because in this model it is possible for spikes in workload from other customers to impact your performance (commonly referred to as a Noisy Neighbor Problem). You should also ask for specific security practices on how customer data is kept logically separated, highly sensitive or regulated data should have no chance of being exposed because of a poorly formed SQL Query with an incorrect customer ID in a WHERE clause.
Cloud native versus also on cloud
The latest trend in software development is towards a pattern known as a microservice architecture. I am not going to go too deep here on what this pattern is but focus more on why you should care when subscribing to a SaaS service. For more details on Cloud Native technical specifics, a great place to start is the Cloud Native Computing Foundation, https://www.cncf.io/. When software gets written in a microservice pattern, small capabilities of the software are independent of other capabilities and talk to each other using Application. Programming Interfaces (API’s). The services run in a technology known as Containers. Entire books are written on containers and microservices architecture, if you are interested head over to Amazon and search on. this topic. Beyond this pattern being the wave of the future and being really cool, why do you care as businessperson considering a SaaS offering? First, having services operate independently will allow the vendor to release new features and capabilities on one specific service at a time without impacting other services. This allows for safer and more frequent invocation from the vendor. This should allow your organization to more easily absorb the pace of rapid innovation by not having to run extensive end to end testing across all business processes for every feature release. The vendor will be able to leverage modern, automated tools and practices like DevOps to make their software development cycle efficient and cost-effective. Modern infrastructure orchestration platform like Kubernetes that allow for highly cost-effective and rapidly scalable infrastructure are specifically targeting Cloud Native software applications. A SaaS provider leveraging these types of platforms will more easily be able to rapidly scale performance and offer very high uptime at a lower cost point. It should also not be underestimated that talented Software Engineers want to work on modern platforms. A SaaS provider using legacy technology will have a harder time attracting and maintaining top-notch talent to help drive their innovation life cycle. These considerations only scratch the surface on the benefits of Cloud Native software, but simply asking about this with respect to the SaaS providers future planning will give you insight into the vendors forward thinking posture.
Conclusion, you don’t have to care but you really should
Signing up for a SaaS model to operate your business in any capacity is a big decision. This is one of those times when you want to sweat the small stuff. It’s very likely that when you start to press a SaaS provider on some of the points outlined above, his or her first response will be “you don’t need to care about any of that”. Please do worry about it, ask the right questions or get somebody who knows how to ask the questions for you. I am reminded of one of my favorite movie scenes from “Tommy Boy”, don’t fall for a “fancy guarantee”. https://www.youtube.com/watch?v=a5dpBpaFiMo