Monday, July 21, 2008

Software as a Service for ISVs - Part 3

A very much delayed post, but still. (Initially had plans of "podcasting" the second to the finale ... ended up with a quick and easy webinar. Soon to post here!) Anyway, let's move on to the next deployment models.

Hosted applications - one application, one tenant

The easiest path to Software as a Service is hosting a web application on behalf of a tenant, in other words a customer organization. This style is reminiscent of ASP (Application Service Provider) offerings. In this deployment model, the ISV deploys an individual version of the application for each customer. This model has some great benefits. An ISV can quickly take an existing web-based application and make it available as a service. By deploying on behalf of a customer, the ISV can use its expertise to minimize implementation issues. Also with this model, the customer can enjoy a hassle-free experience without having to think about infrastructure, servers, data centers, or system administrators.

On the flip side, this model poses challenges to the ISVs that are typically based in costs. When an application is deployed for a customer, the ISV must create an environment for each of those applications that is enterprise-quality -- meaning the environment is fault-tolerant, has disaster recovery capabilities, has the ability to scale, to name a few. These quickly may drive the cost of hosting a single application past the price point that the customer is willing to pay.

Let us look at an example. Let?s say that Frabitz Co. sells and markets a web application for HR Management. They want to offer this solution to customers in a hosted model. For each customer, Frabitz will deploy five servers to provide an enterprise-quality environment. Two load balancers, two web servers, and a database server. In addition, they will have to setup ongoing backups and monitoring from an external system. Using Amazon Web Services pricing model, the cost of this simple environment would be a minimum of $362.50 per month just for the ?bare metal? not including data storage or data transfer fees. This base fee would need to be included in the price to the customer.

Adding this new capability to service customers also means that the ISV must extend its business from developing software to managing a series of complex environments on behalf of its customers. This means the hiring of system administrators, 7x24 support, and emergency response. So in our example above, the $362.50 per month must now be increased to support the cost of the new business extension.

The ISV can quickly see how a subscription rate of $1,000 per month would be a minimum for this type of hosted service. This level of subscription eliminates a giant segment of the market from the ISV. At such a price point, the small and medium-sized businesses will more than likely look for other solutions.

Multi-tenant applications - one application for many tenants

The most advantageous deployment method of Software as a Service is the multi-tenant application. This deployment method takes a single application and enables it to facilitate multiple tenants (or companies). It also ensures that data, preferences, and customizations for each tenant are kept distinct and separate. In this model, each tenant can have hundreds to thousands of individual users all running on the same back-end systems. The prime example of a multi-tenant application is Salesforce.com. Salesforce.com hosts a giant version of their application yet they allow thousands of tenants to use that application all while keeping each tenant?s data and interactions separate from one another. Multi-tenancy has a tremendous advantage for the ISV - cost consolidation and skyrocketing margins to start with. By consolidating tenants into one running version of the application, economies of scale come into play for the ISV. (Need another example of a multi-tenant application? Check this.)

Let us build upon the Frabitz example. Frabitz decided to enable multi-tenancy in its web-based HR application. They re-architect their database schemas and update the application to ensure that the software can handle multiple tenants individually and without conflict with other tenants. Frabitz then can deploy its application one time to an enterprise-quality environment and reap the benefits of a growing customer base. In this model, every time Frabitz adds a new customer, there is no direct fixed cost increase as there is in the hosted model. As a matter of fact, well behaved web applications can support hundreds of tenants on a small scale environment. The ISV has tremendous leverage in this case.

Nevertheless, deploying a single instance of the software for several tenants is fraught with its own challenges -- scalability, data separation and management to name a few. You have to be able to create an enterprise-quality environment for your web application. You would have to think about how to manage those complex back-end work. These and a lot more challenges aren't impossible to overcome (traditional software vendors must take heed). And this is where Platform as a Service comes into play. We'll cut this blog and will tackle Platform as a Service up next.

No comments: