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.

Share this post:

Add Comment
No Comments

Leave a Reply

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

More Archive Stories

How can desktop cloud improve your business?

When we are talking about desktop cloud it’s not exactly about the personal computer.

Continue reading

The next generation of cloud computing

The cloud isn’t just for techies anymore. Understanding what’s next for cloud computing is crucial for businesses at all levels. Managers are responding to the real opportunities that the cloud offers to develop new business models, forge closer ties with customers and tap into the expertise of employees and partners. From a technology that was initially […]

Continue reading

January #cloudchat recap: Interoperability and open source

This #cloudchat took place on Jan. 10, 2013, and focused on standards, open source initiatives, and particularly OpenStack.

Continue reading