The difference between these two CRM architectures is tightly tied to an ongoing debate over the definition of cloud computing. Some people are passionate about single-tenant CRM, while others think that anything but multi-tenant CRM is 1990’s computing.
Several years ago, during his presentations at customer and partner conferences, Marc Benioff, CEO of salesforce.com, told the salesforce.com faithful to “beware of the false cloud” — read: “beware Oracle’s false cloud”.
The “false cloud” was a reference to the fact that provisioning, say an Oracle Exadata server, in a data center and then giving a customer access to that computing resource does not adhere to the true definition of cloud computing. The implication was that Oracle’s version of cloud computing, one form of which involved separate physical boxes for each customer, was not real cloud computing.
By association, any CRM solution that runs on its own physical or virtual server in a data center and calls itself Cloud CRM would also qualify as “the false cloud” by Benioff’s standards.
Definition of Multi-Tenant CRM
Multi-tenant CRM, as its name implies, is a set of pooled computing resources that is shared among many different organizations (tenants). Multi-tenant CRM goes well beyond a group of companies sharing the same data center. A large number of customers actually share the same database. Here’s a technical explanation of multi-tenant CRM (PDF).
Keep in mind that just about any online subscription service that you sign up for today fits Marc Benioff’s definition of cloud computing and multi-tenancy. Whether you’re signing up for online banking, Google Apps, Dropbox, Twitter, Facebook — name an application — you’re in one, large pooled environment and database with thousands or even millions of your closest friends.
Benefits to Multi-Tenant CRM
There are a number of benefits to multi-tenant CRM. From a CRM end-user’s perspective, these differences aren’t necessarily evident in day to day usage of the application, but they can come into play in other ways, such as cost, performance and reliability.
Hardware and Power Economy – A major benefit to multi-tenant CRM is on the cost side. With resource pooling, there are considerable savings in hardware and power. With single tenancy, a separate physical or virtual machine needs to be “spun up” for each customer. As salesforce.com was approaching the 100,000 customer mark, it boasted that it was serving its entire customer base on only 3,000 servers.
Elasticity – Imagine a scenario in which a company starts off with a ten user, one thousand record pilot of a CRM system. If the pilot works out well, the plan is for the company to add 20,000 users and five million records. Since a multi-tenant environment is elastic, all these users and records can be added without having first to calculate what resources will need to be added to a machine, at what cost and over what timeframe. In a single tenant environment, the customer’s physical or virtual server would have to be individually provisioned with extra processor power, memory and hard disk space to accommodate this leap in users and storage.
Effort to Upgrade – If there are a thousand customers on a thousand separate CRM instances and all of the instances need to be upgraded, that’s a thousand upgrades. If there are a thousand customers on a single, multi-tenant CRM instance, that’s one upgrade. Multi-tenancy has forced upgrades to be seamless, as upgrades can’t require any level of per customer intervention when thousands of customers are upgraded simultaneously.
Backups and Redundancy – Peter Coffee once said of salesforce.com’s redundant, U.S.-based data centers that it would take two, simultaneous meteor strikes to disrupt service to its customers. Creating that level of redundancy would be a lot more technically challenging if tens of thousands of customers each had their own virtual server in each of two data centers.
Degrees of Multi-Tenancy
Even multi-tenancy has limits to scalability. Salesforce.com has its multi-tenant architecture segmented into forty CRM instances and periodically needs to create new instances as current ones reach capacity.
Microsoft’s online CRM solution is multi-tenant on the application instances, but each customer has their own SQL Server database, since Microsoft’s underlying database technology was not designed for a large-scale, public cloud. The same applies to Sugar with its single-tenant MySQL databases.
On the other hand, Google has an apparent single instance for all Google Apps users. When there’s a new update, all customers get the update at the same time.
Limitations to Multi-Tenancy
Multi-tenancy does have several inherent limitations, which can be overcome to varying degrees.
One limitation is that there have to be API governors in place – limits to the number of API calls by each customer over a defined time period. As a multi-tenant vendor, you can’t have a given customer on a multi-tenant CRM instance make, say, millions of API calls per a minute, as this can affect the performance for other customers on the same instance. Single-tenant CRM proponents will tell you that API limits do not exist with their solution.
Oracle’s Larry Ellison once referred to Salesforce as the “roach motel of clouds”. While it is actually possible to get your data out of a multi-tenant CRM solution like Salesforce, it may not be a SQL Server or Oracle backup file that can easily be transferred to another environment. Instead, it’s likely to be a collection of CSV files that need to be migrated into another system.
Undoubtedly, the debate over the merits of single-tenant vs. multi-tenant CRM and cloud computing will continue.