Tuesday, July 24, 2007

SaaS and HA

Bit of a buzz last week about how NetSuite was IPOing even though it didn't have a back-up datacenter. This came as a surprise to many in the press, analyst and investor world, but it shouldn't have. As the guys over at Saugatuck Technology pointed out, this is the most likely case. Most SaaS vendors have no multi-site capabilities. Even SalesForce.com didn't have a second center until well after it IPO'ed.

Even their NetSuite's customers were surprised by this. (Though one customer, namely OpSource, was not.) Seemed they couldn't figure out why for their $500 per month they wouldn't be receiving multiple datacenter support.

The reality is that traditionally running multiple datacenters is very hard and very expensive. Not many companies really get diversity before $100m in revenue. The reason being that running two centers is more than twice as expensive as running one center. Not only do you have the costs of both centers (with much lower discounts than you would get by massing your buying power) you have the costs of running all the HA software, hardware, and network connectivity to keep the two datacenters in sync. And how much extra functionality can you sell your customers with both of those centers? None.

You might say that customers are willing to pay more for increased availability. They won't. The fact is a well run single instance of your application should have at least 99.95% uptime. Getting a couple extra 9's won't get the customer pulling out their wallet.

And in a cruel twist of fate, multiple datacenters can actually cause more downtime. The hardest thing in IT is to sync multiple instances of an app. Ask SalesForce, who had the most trouble with their availability right after implementing a second site. Anyone who has tried it knows how tough it can be.

When you factor the costs and the difficulty and the lack of true customer demand, it's no surprise that most SaaS companies don't have a second center until they have over $100m in revenues.

What's the answer then? I think it's going to be a big part of switching from traditional enterprise application development and deployment, in to true web development. By abstracting their app from the physical layer and truly living on the web, companies can much more easily take advantage of multiple points of presence. The tools are just beginning to arrive (of course we've got some) but we'll see even more be done on this over the next couple of years. Companies who take advantage of these tools and offerings will get HA built in without having to break the bank.