I was recently asked the question about the real practical tradeoffs between a multi-tenant architecture and a virtual infrastructure architecture for an ISV that is developing a SaaS offering. My one sentence answer was that in general the tradeoff is shorter development time and shorter time to market versus operational complexity and cost over the life of the solution.
Multi – Tenancy Advantages
- Shorter implementation times for multi-tenancy since each individual customer requires a unique virtual environment to be setup
- Upgrades are more difficult for a virtual environment since multiple instances of the software exist
- Even if customer agrees that the provider can do upgrades at the providers discretion some coordination usually needs to occur
- Possible higher software license costs for a virtual environment depending on types of software used in the infrastructure
- More temptation to do “specials” or modifications in a virtual environment
- More difficult to enforce implementation discipline when integrating with other software in a virtual environment
- Usage monitoring reporting for billing or other purposes is easier in a multi-tenant environment
- Application monitoring is more difficult in a virtual environment since all instances need to be monitored
Although the above can be managed it generally results in higher ongoing operational and labor costs.
Virtual Infrastructure Advantages
- Opportunity for the same on premise and SaaS code
- Quicker time to market
- Lower development costs since there are likely to be less code changes and less architectural issues to think through
- Data separation security issues are easier to defend
A virtual architecture is a viable strategy to transition from a license software business to a SaaS business or to “defend” against a SaaS competitor for some period of time. However, in general a profitable and sustainable SaaS business is inconsistent with a virtual environment due to the long-term margin pressure.
Fortunately as long as other business processes are designed correctly a customer won’t care which approach is taken unless they are very SaaS knowledgeable and have concerns about the long-term viability of a business without a multi-tenant application. Although possible, it is unlikely that customers will prefer a virtual environment and there are very few SaaS applications where a virtual environment is the best long-term architectural solution.
The ideal strategy for starting a SaaS business as part of an existing ISV business is a newly designed multi-tenant application going after an ancillary market, setup in a separate business unit. That said, there are many times when the time to market requirements and the cost to develop a mostly new multi-tenant application preclude this approach. In that case I believe it is fine to use a virtual environment to start a SaaS business but at some point you will need to convert. Whether that conversion point is 50, 100, or 250 customers depends on the type of application but I don’t know of any successful SaaS businesses with more than a couple hundred customers who uses a virtual infrastructure.