I spend a lot of time working on Jive's enterprise SaaS offerings. There's one question in particular we've invested quite a bit of engineering time in answering recently -- is it possible to leverage the cloud to build a scalable SaaS solution using a single tenant architecture? It's not so long ago that it felt embarrassing to say the words "Saas" and " single-tenant" in the same sentence. For years, it's been an industry mantra that it's simply impossible to have a scalable Saas business without multi-tenancy. But recent technology advances have eroded the multi-tenant advantage. And especially for enterprise cloud collaboration, there are important reasons why single-tenancy can actually be a better solution. I don't intend to start a flame-war over which approach is ultimately better, but I offer the top reasons my single-tenant shame is passing:
Cloud computing is changing the game. Cloud computing is anchored on virtuatlization and new levels of automation via api-based resource allocation. It's now possible to approach multi-tenant level cost efficiency with a single-tenant application. Although the cloud isn't ready for all Enterprise use-cases (due to security and compliance concerns), cloud computing is maturing very quickly.
Data isolation. Most multi-tenant applications use a single database to store all customer data. That means application bugs can put your data at risk by making it visible to other companies in the same SaaS environment. We use a separate database for each customer in addition to all the advanced data security features baked into the product, which provides much better isolation for critical data.
Migration. SaaS offers fast setup and a fantastic TCO. But current enterprise security and compliance polices around storing corporate data in the cloud can be too high of a hurdle to overcome as product usage expands from a single department to the whole organization. Because of our single-tenant architecture, we're able to offer the same product via SaaS or on-premise. Plus we make it really easy to move from one environment to the other. We believe it's the pragmatic approach, and the one best suited for enterprise.
Customization. One of our key selling points for public-facing communities is the ability to closely match an existing site's look and feel. Most multi-tenant applications end up looking cookie-cutter with just a few color changes. Jive offers much deeper levels of flexibility.
In an upcoming blog entry, I'll share further details about how we're leveraging the cloud including how we're using XMPP.