Matt Tucker over at Jive wrote a great post today about SaaS architecture, specifically whether single-tenancy was a viable enterprise SaaS architecture in the age of virtualization, automation, etc. For years, we’ve been told that single-tenancy, or the idea of one customer to one instance of the product (versus multi-tenancy, which puts many customers on walled-off sections of the same large instance, or often multiple large shared instances also sharing databases), was an impractical SaaS architecture because it wouldn’t scale, had high variable costs, inefficient database utilization, etc.

Matt points out a few factors that may make single-tenancy a more compelling architecture than is being given credit. He notes that the costs have changed – “It’s now possible to approach multi-tenant level cost efficiency with a single-tenant application.” And he also makes the point that things like migration of data and application customization are easier in a single-tenant architecture.

We’ve gone thru a similar evolution in our perspective at Atlassian, and I think Matt is spot on in his analysis.

  • Forcing enterprise software into multi-tenancy is an odd fit. When Atlassian first moved into hosted services, we assumed (as was the default point of view at the time), that multi-tenancy was our only architectural alternative. We built Confluence Team Hosted in a multi-tenant fashion, and can share that re-architecting a traditional enterprise application for multi-tenancy was a ton of work. More recently, with Atlassian’s Enterprise hosting and Jira Studio, we’ve gone with single-tenant models, and have found, as Matt points out, that the gains of single-tenancy outweigh the benefits of multi-tenancy for customers.
  • Enterprise customers have different needs than small businesses and organizations. Especially around security. In recent times, security has been the single greatest concern for enterprise customers. No surprise then that a model which keeps the individual customer’s data completely separate from other customers, at both the application and database level, would be compelling here. Equally important to enterprise customers is the ability to integrate SaaS offerings with their behind the firewall apps, LDAP etc., as well as customize these applications with the same degree of flexibility they’ve historically had with their on-prem applications. In times past, customers might be willing to trade some features for the ease of access, setup etc. of SaaS, but more and more we’re seeing the expectation for fully-featured applications with total control in a SaaS model, something that multi-tenancy struggles to provide.
  • Virtualization makes single-tenancy cost-effective. Specifically with Jira Studio, we’ve worked with our hosting partner Contegix to build a virtualized implementation of a suite of our apps, putting each customer on their own cloned VM (read this great article for more specific details). What virtualization gives us for Studio is the ability to emulate multi-tenancy from a cost and provisioning perspective without sacrificing anything in the way of customization, security, and control. We get <five minute installations and upgrades, due to the cloned VMs (customer data is stored separately in a database, meaning the application VM can be deployed and upgraded en masse across the grid). And we get a much more economical cost structure, as well as a high level of fail-over and redundancy, because the standardized virtual images can easily be replicated and switched. By bundling the Jira, Confluence, Fisheye, Crucible, and Subversion technologies into one package, and leveraging the cost effective scalability of cloud computing, we’ve been able to deliver a powerful and affordable hosted development suite.

At Atlassian, we’re focusing our efforts in the near-term on the single-tenancy approach, and will continue to target ways that we can decrease the cost of a single installation rather than put a lot of focus on re-architecting for multi-tenancy. To that end, we’ll be looking especially to take more advantage of Contegix’s Project Zeus cloud computing market offering with our other products.

Contegix will be presenting on Jira Studio, and the cloud computing platform that Contegix uses to power Studio, at Atlassian Summit, 31 May to 2 June, 2009 in San Francisco – read more about Contegix’s presentation here.

When it comes to SaaS architecture, what’s old is new again