Multitenancy 101

The shift from a traditional desktop development and deployment model to one where the cloud is the key way to develop, deploy and manage applications is happening. However, when talking to product managers and architects, the importance of multitenancy is still a frequently debated question: “Do I have to be multitenant in my first release?” In this blog post, I would like to help demystify this concept, and also share with you my perspectives on why multitenancy is an important up-front business consideration because it has many downstream technical and financial implications.

Multitenancy refers to the ability of services to be offered to multiple tenants in a way so that each tenant operates as logically isolated while, in fact, using physically shared resources.To make this concept easier to understand, let’s look at an apartment building versus a house:

Sharing for cost reduction and convenience

Living in an apartment allows you (a tenant) to enjoy a nice swimming pool without having the hassle to maintain it yourself. Because you are sharing many of the facilities with other tenants, the total cost of ownership is lower, for example, your property tax. Living in an apartment also means you are implicitly sharing its underlying infrastructure, for example the heating system. These concepts are very similar to sharing your application in the cloud, the more sharing, the cheaper the cost per tenant. Because you are sharing the application, you are also sharing the underlying operating system, hardware, and middleware that the application is running on, including their version.

In addition to cost consideration, there are also other downstream design considerations when deciding to buy a house versus an apartment. For example, what kind of furniture will fit the best, what kinds of pets can you keep? These decisions are similar to the design your product needs to consider for multitenant versus single tenant. How are you going to ensure a tenant’s data is separated from another tenant’s? Do you want to allow each tenant to customize the UI, say, to add their own company logo? The answers to these questions can affect the design of your application.

Sharing and security

You might be thinking: OK, I get this now, but what about security with all this sharing? The more I think about it, the more it seems a little scary-do I really want to be multitenant?

Whether you are living in an apartment or in your own house, you still have your own key so your assets can still be secured in the same way. Sharing a common security infrastructure does not mean that you are less secure, in fact it can be quite the opposite have you noticed that most apartments have 24×7 on-site security guards? Because you can now onboard more tenants to your solution quickly, you can increase your development budget and afford more advanced security implementations.

Collaborative multitenancy

In conclusion, cloud computing is a shift from traditional single-tenant approach of software development to a multitenant approach that is scalable and global. Couple this with the mobile transformation across enterprise, collaboration between companies, partners, and friends becomes easier and easier. This reminds me of the urban community gardens—tenants can create a garden of their own choice, but they can also make social connections, build on each other’s ideas and generate more opportunities.

For more technical information about how to transform your solution from single tenant to multitenant, see my article on developerWorks.

Photos in order via Flickr: 1, 2, 3, 4, 5.

Add Comment
No Comments

Leave a Reply

Your email address will not be published.Required fields are marked *

More Archive Stories

Deployment patterns for security services in a Software Defined Environment (SDE)

As the prominence of software defined environments grows in tandem with new vulnerabilities in the virtual environment and the new technologies to secure the virtual assets, picking up an adequate deploy pattern for your security services will become critical to increase your return on investment (ROI).

Managing software licenses in cloud – Part 2

In the second part of this series, we turn to an old world traditional IT in enterprise to leverage IT technologies for their software licensing.

SAP in the cloud: Moving up from IaaS to PaaS

David Weck has recently posted a very interesting blog article “What’s your favorite flavor? Using IaaS to host SAP in the cloud,” where he compares hosting SAP on cloud to buying ice cream. He discusses the deployment option of SAP on infrastructure as a service (IaaS), which is your basic plain ice cream. But once […]