Cloud PLM: what do you need to know about multitenancy

by Oleg on March 18, 2012 · 7 comments

Multitenancy. You may ask me why I want to spend this Sunday morning talking about multitenancy. Well… two words – important and confusing. Now, with the announcement of Autodesk PLM 360, I expect conversations about multitenancy to happen more often and even create some turbulence during pre-sales cycles. So, let me step back and try Wikipedia link. Here is the definition:

Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants). Multitenancy is contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations. With a multitenant architecture, a software application is designed to virtually partition its data and configuration, and each client organization works with a customized virtual application instance. Multitenancy is also regarded as one of the essential attributes of Cloud Computing.[1]

History

The history of multitenancy goes to few computing paradigms we had in the past – time sharing and ASP (application service provider). Time sharing was very popular on mainframe (this is why many people consider mainframes as one of the technological roots of cloud computing). ASP concept when another company “hosted” product for customers is another early example service that influenced the current state of multitenancy.

Economic and Multitenancy

I’d like to start from the economic of multitenancy. Thinking about cloud software, multitenancy creates fundamentals for resource sharing. As a result, you can make the operational cost lower. It increases the ability to compete and provide more attractive price point for services. Hosting without multitenancy won’t provide such an advantage, since you will have to host server per customer. It obviously can bring an advantage of scale economy, but even so won’t be on the same level as multitenancy.

Technology, Complexity and Examples

The majority of enterprise applications developed during the last two decades were a single tenant. The target was “client-server” environment and data center. Even applications developed with “web architecture in mind” assumed database and application server dedicated to a customer. Multitenancy requires significant changes in architecture. Some of the enterprise software providers started to move their platform towards multitenancy. The majority of knowledge about development of multitenancy came from public web sites and SaaS application providers. The most famous example is salesforce.com. The architecture of salesforce.com assumes full multitenancy also on application and data level. If you want to deep your knowledge about how Salesforce platform designed, navigate to few available youtuble videos. Few slides below can give you high level view of Salesforce vision of multitenancy.

Salesforce view on waste of multi-tenancy

Salesforce.com -multitenancy advantages

Salesforce high-level multitenant architecture

I can recommend you another interesting article about multitenancy from Microsoft. Navigate to the following link -Multi-Tenant Data Architecture. The document is relatively old 2006), but provides some interesting illustration about how multitenancy and data architecture can be designed. Take a look on the following picture illustrates Three Approaches to Managing Multi-Tenant Data:

Multitenancy and data architecture (source: MSDN)

There are obvious pros and cons in different solutions. Multitenancy has obvious advantages mentioned above. However, complexity and cost of development of a multitenant solution are higher than a single tenant alternative.

What is my conclusion? In my view, we are going to hear more about multitenancy. Cloud is disruptive. At the time, vendors are going to own servers and provide services, multitenancy will become one of the factors to improve profitability and decrease operational cost. At the same time, marketing will continue to use “buzzwords” to win a social marketing and pre-sale game. If you are a customer shopping for your first cloud solution, you better get yourself a bit educated about the  topic of multitenancy. Just my thoughts…

Best, Oleg

Share
  • http://twitter.com/broepke Brian Roepke

    Excellent post Oleg.  I do have a a couple of thoughts as well.  As far as how deep a customer needs to go.  Do you need to understand the intricacies of the architecture? Not totally sure.  Not totally sure people want to be that educated!  But there are some good questions to ask a software vendor.

    1. Is it TRUE Multi-Tenant – This means that all customers are on the same version of the code, all updates are fully managed by the vendor and that they are regularly pushed.  There should be no concept of a “version” you're on (other than internal tracking) and there should be no “service packs” or “update packs” etc.  

    No customer is stuck with an old version of the software

    Note: Without question – If a company offers both hosted and on premise versions – they are not Multi-Tenant.  It fundamentally breaks the strategy for building software, how changes are pushed to servers, back end / data center integration of development methodologies, etc… This one is clear.

    This is often seen when a vendor will offer what they call “hosted” versions.  This is just their software installed somewhere else.  Like on Amazon or with IBM or similar IT shop.  This simply transfers the server to another location and doesn't address the fundamentals of the equation as you list above.

    2. Does it cost anything to scale? a true MT solution will answer this with a “no” – doesn't matter if you've got 10 or 10,000 users – there is no impact to the end customer for growing (this is hard for a lot of people to understand at first when they think of the investment needed to scale a client server app this way but if you think of the “everyone on one application” message – if the vendor is successful you're not the only people on the software and therefor the number of total users is much beyond what you're running…)

    You're never charged for any hardware related costs.

    There are so many advantages to true SaaS – MT – that it's hard to ignore.

    Thanks for the educational post!

  • 即时比分 – cc5x.com|79rliv

    支持一下,喜欢读您的文章,加油!你很棒!..壬辰年(龙)二月廿八 2012-3-20

  • Frank

    Oleg & Brian, I like the idea of  all customers are on the same version of the code, and no impact on growing. As a cloud service user, I'd appreciate more details on data security provided by the vendors.

  • beyondplm

    Thanks Brian for such an excellent comment. It made me think about some analogy to “database normalization”. Nothing directly related of course. However, the similarity is in trade-offs between “normalization” and “performance”. I think, MT will have similar levels of definitions soon. It is just not invented yet… or maybe already did it, and I haven't had a chance to discover it yet. Let me know, please, if you see something similar. Best, Oleg

  • beyondplm

    Frank, security is too broad term to discuss it as a “single thing”. There are aspects of data security, access, servers, networks and many others. Some of them are pretty obvious these days. My take on security is simple – the weak part is people. You can design a very advanced security system, but in every manufacturing company, I've seen, people are the easiest way to get everything you need. So, when IT is focused on security, I always remind them to focus on people too. The brutal example – walk after working hours in the office and see how many computer screens are locked with passwords. Easy… :) . To me, Google Apps today one of the most reliable mainstream cloud systems that has very advanced security characteristics. Just my thoughts… Best, Oleg

  • Pingback: What Oracle multi-tenancy means for PLM providers?

  • Pingback: What Oracle multi-tenancy means for PLM providers? « Daily PLM Think Tank Blog

Previous post:

Next post: