Although SaaS is a well-understood model today, there are differences on how SaaS providers define SaaS (or their preferred flavor of SaaS). A number of leading SaaS vendors have claimed multi-tenancy as a necessary component of any SaaS offering. There is a fair amount of controversy here, but is multi-tenancy what defines SaaS?
As a quick backgrounder, multi-tenancy refers to a software architecture where a single instance of the software runs on a server, serving multiple tenants, where tenants are separate companies, or in a broader sense, any application – either inside or outside the enterprise – that needs its own secure and exclusive virtual computing environment. So how does multi-tenancy come to play?
Obviously, multi-tenancy is a powerful software architecture for SaaS implementation and a cost driver for both vendors and clients to achieve economies of scale. Furthermore, the two most compelling technical advantages of multi-tenancy are:
- The ability to partition data within the application itself in a secure and scalable manner (so that each tenant has access to their own data only and can not access data belonging to other tenants) and making this part of the architectural design of the software.
- The ability to aggregate data on a single data source (usually a database schema), hence simplifying data analytics across multiple tenants. However, this argument has been weakened lately for many types of multi-tenant applications as data privacy regulations and concerns come to play.
Multi-tenancy is clearly a specific decision point around virtualization, the process that allows for scalability of SaaS applications. But it’s not the only point by any means. Virtualization can happen at different levels: from the application, to the database, to the virtual machine, to the operating system, to the hardware. Virtualization can be horizontal (scaling by adding resources under a single application instance) or vertical (scaling by adding application instances).
What is also interesting is that multi-tenancy is primarily a technical software architecture argument whereas SaaS is by and large a business model argument. SaaS adoption was driven by benefits around predictable Total Cost of Ownership, scalability to meet demand elasticity, rapid deployment, ease of administration, and global accessibility; all these benefits are business-related. The point here is that as SaaS models are still evolving, and after the initial disruptive step, we should expect to see these models better align with specific client needs, regulations, and strategic differentiators.
Multi-tenancy has its shortcomings too. First and foremost, it prescribes that all clients have to be on a shared environment with the same basic functionality and the same user experience and without much leeway for customization or personalization. Yes, it is the case that multi-tenant SaaS offerings are configurable, but only up to a point and not to the extent that a client experiences a strategic differentiator for their own implementation alone. Also, limited integration options with existing systems and lack of client control over software upgrades complicate software validation processes for compliance in regulated environments.
How do you define SaaS? I personally like the definition by Gartner that is based on 5 attributes: service-based, scalable and elastic, shared, metered by use, and delivered via Internet technologies.
Gartner also predicts that the global SaaS market grew 17.9% to $14.5bn in 2012 and will grow by $22.1bn by 2015.
Now, going beyond strict definitions, we have to look into what really matters for organizations deploying SaaS to create a competitive advantage – will it be cost savings or strategic innovation?