As companies continue to migrate legacy software applications to the cloud it is important for small and medium sized businesses to understand the difference (and trade-offs) between single and multi-tenant software. For starters, the architecture you select could have a significant impact on your software provider's ability to meet the future (i.e. unknown) needs of your business. For more information on how agile development can help you plan for the unexpected, see this previous blog post from Agile to Application. Executive summary: How to apply it to your business- There is no doubt that the trend in business computing is moving toward a SaaS model. The benefits gained in collaboration, time saving, and cost reduction are difficult to deny. The key is to knowing when each architecture is appropriate for you. Here are a few things to consider. For highly standardized processes a multi-tenant software application is a viable and logical choice. The data you need to capture and the workflow and reporting are virtually the same. For this reason, a standard one size fits all solution is adequate.
When your business has proprietary or differentiating processes / services and wants to control the software road map; a single-tenant SaaS is likely a better choice. Project management, sales-cycle workflow, and internal company portals are excellent examples where single-tenant SaaS is a logical architecture.
Before we dive into the details, here is a quick overview of multi-tenant and single-tenant architectures.
Single-tenant - Single-tenant (or hosted) Software as a Service (SaaS) is an architecture where each company has their own instance of the software application and supporting infrastructure. Think of it like a neighborhood community developed by the same architect and engineer where each household has the ability to change and customize their property as desired. By having a single hosted instance the purchaser can tweak and customize the software to meet their needs.
Multi-tenant - Multi-tenant Software as a Service (SaaS) is an architecture where multiple companies share the same instance to store their data. This instance is typically divided (or partitioned) to prevent the companies from accessing each other's information. Think of it like a high-rise building where the floor plans are generally set but minor cosmetic changes can be made to the individual units. Significant change comes at a much higher cost.
The benefits of single-tenant- The benefit of a Single-tenant architecture is that the application(s) and logic are customizable to the individual needs of the business. Because the business is not sharing the same code and database as their peers, changes to the application will only be accessible to the single-tenant.
The benefits of multi-tenant- The benefit of a multi-tenant architecture is that it is typically cheaper for the purchasing company. The reason for the discount is rooted in the lower cost of maintenance as the software provider only has to maintain one application, database, and supporting infrastructure.
The disadvantages of multi-tenant- As a result of multiple tenants running their business off the same code and database, individual businesses have virtually no ability to customize the software to their specific needs. In addition, future features / functionality could be delayed or removed from the product road map as multi-tenant SaaS providers typically focus on the feature requests (and bugs) submitted by their largest customers. In addition, changes to the software application could be made and deployed to your business without authorization as you are relying on the same code base as the other (potentially larger) tenants.
For more information on the differences between multi-tenant Vs. single-tenant SaaS checkout this article from GoIWX.
For more information on projected spending for CRM & ERP Software as a Service (SaaS) checkout this article from Information Week.