Focusing on multi-tenancy forced the company to create a formidable application.
Multitenancy has become a shibboleth in the software industry. You can tell what a company does just by asking for its opinion on a subject. To the companies raised on it (Salesforce.com, Google), it is a must-have. To the established players (Microsoft, SAP, Oracle), it is considered a threat, irrelevant or an additional delivery model. This week, the JargonSpy takes a close look at multitenancy and how it is shaking up the industry.
The most outspoken champion of multitenancy is Salesforce, which has created both a product and a development platform (Force.com) based on the architecture. Salesforce has an excellent paper that explains what multitenancy is and why it is important.
The core idea of multitenancy is that software is created so that one instance of an application can handle the needs of many clients, or tenants. In Salesforce’s model, everyone starts with the same version of the application. The data are stored in a shared database, but each client has access only to its own information. The entire application is described by what is known as metadata, instructions that describe various aspects of how the application works. A client who wants to customize the application creates and configures new metadata that describes the new screens, database fields or desired behavior.
An alternative to multitenancy is single tenancy, a model in which each client has its own instance of software-running that can be configured through metadata or other means. SAP (nyse: SAP – news – people ) uses the single tenancy model for its Business by Design software, which implements a variety of business applications.
There are a lot of potential gray areas between multitenancy and single tenancy that we are going to ignore. A single tenant application can be delivered from a virtualized server in the cloud or on a server inside your data center. Parts of a single tenant application can be shared or not shared. For example, it is not unusual for an application to be single tenant, but with its database shared.
03/22/2013 4:00PM ET
- Get Quote
BATS Real-Time Market Data by Xignite
The point that Salesforce makes about multitenancy is that it allows a software vendor to worry only about one version of software running in one operational environment. Multiple versions do not need to be supported for different hardware and software configurations. Because all of Salesforce’s customers are running the same version of the same software, they can see what is working well and what needs improvement.
When improvements are made, they become available to all clients at the same time, although the customer always has the choice to turn new features on or leave them off. With more focus and centralization, the pace of innovation is faster. Partners are also able to focus their efforts on supporting one version of the software as they create compatible products.
Comment On This Story
One of the downsides to multitenancy compared with single tenancy is that a problem with one client can affect the whole system. Also, if centralized operations fail, all customers are affected. No instance of Software as a Service (SaaS) provider has been perfect. All have had major outages. But all look pretty good when compared with the track record of most internal data centers.
Salesforce has extended the benefits of multitenancy to other software developers through the Force.com platform, which allows third-party companies to use the software’s raw building blocks and advanced application components to create their own multitenant applications. This model is called Platform-as-a-Service, and other companies like Google (nasdaq: GOOG – news – people ) have similar offerings that support multitenant application creation.
As the building blocks for supporting applications became more general purpose and less adapted to creating multitenant applications, you drift into the Infrastructure-as-a-Service space, which offers raw computing power. Clearly, sorting all of these layers out is a tough job that won’t be tackled in this column.
The real question for users and developers is, Why should you care if an application or a platform is multitenant or single tenant? Salesforce CEO Marc Benioff argues in his public speeches that multi-tenancy is a requirement for a SaaS vendor to be successful, as do some other leading analysts. But is this the case? The SaaS model lifts the burden of creating and managing infrastructure from the shoulders of the client. This can be done with single tenancy as well.
The only reason to use an application is for it to do what you want it to do, and Salesforce has proved that thousands of customers want its software. But in other spaces, multitenancy has not proved to be the magic elixir. Netsuite, for example, offers an enterprise resource planning (ERP) package that is multitenant. SAP has its Business by Design product, a set of business applications that is single tenant. Neither has reached the number of customers that Salesforce has.
Another explanation for the success of Salesforce and its multitenant offering has to do with commonality of requirements. If you think of customer relationship management (CRM) as a space of requirements, you can argue that there is a greater commonality of need than for the ERP space.
Most people want the same 20% of all possible functionality from CRM. For ERP, perhaps everyone wants a different 20%. Using this line of reasoning, perhaps the key to success for a SaaS company is to choose the right offering, one that is the most common across all customers. Salesforce has benefited in many ways from pursuing this space using a multitenant approach, but perhaps the smartest thing it did was to choose CRM as a focus in the first place.
From the developer point of view, multitenancy is not the main event. The goal of using a platform is to get the right product done as fast as possible. Some companies will find that Force.com or the Google App Engine gets them where they want to go as fast as possible because of the existing functional footprint. Others will get there faster because of the flexibility they get using Ruby on Rails and Engine Yard for hosting.
Reading the Salesforce white paper, you see a picture of a new metadata- driven programming model that happens to be delivered in a multitenant architecture. To the JargonSpy, multitenancy is a sideshow compared with the accomplishment of so much abstraction through metadata. This perhaps is Salesforce’s biggest achievement. If a company can offer customers a way to obtain and configure an application easily through metadata, it can be successful. But software companies have always offered software that is configurable through metadata. Is Salesforce qualitatively different?
The JargonSpy’s best guess at an answer is as follows. The secret to Salesforce’s success is that the company chose an area, CRM, which has common requirements across many customers. Then Salesforce focused on creating a scalable operational environment (the SaaS model) based on multitenancy. The biggest value of multitenancy is not the benefits that Salesforce points out but the fact that it forced Salesforce into doing a better job of creating a metadata-driven application.
If the JargonSpy is correct, the key aspect of software that will make it successful is its configurability. The easier it is to meet client needs through configuration based on metadata, the more successful an application will be, regardless of tenancy. A question that the JargonSpy cannot answer is whether there are limits to the configurability based on metadata. In other words, is it ever possible to simplify complex things like a chart of accounts that can work in every country in the world? Are some problems so complex that they will always be hard and cannot be configurable?
For the JargonSpy, the compelling question about the future of multitenancy is whether what Salesforce has achieved is just a precursor to the expansion of the operating system, application server layer and programming languages into the virtualized world. Salesforce is getting there from the application out.
Other players will not take the development of Force.com sitting down, and they are going to attack this problem starting from other directions. SAP, Microsoft (nasdaq: MSFT – news – people ), Oracle (nasdaq: ORCL – news – people ), IBM (nyse: IBM – news – people ), Hewlett-Packard (nyse: HPQ – news – people ) and Google (nasdaq: GOOG – news – people ) are on the move with their own offerings. The JargonSpy will explore this battle in next week’s column.
Dan Woods is chief technology officer and founder of Evolved Media, a firm that offers content creation, editorial and publishing services.