What if Salesforce.com weren’t multi-tenant?


In my last post, I mentioned that I was going to write one last follow up post on the blogosphere-wide multi-tenancy discussion, so here it is! Recently, Salesforce.com quantified some of its architecture, giving us visibility into what it takes to support a SaaS business of its magnitude: 1,000 servers for 55,000 customers and 1.5 million individual subscribers! That’s not too shabby. It also gives us some insight into architecture efficiency. Clearly, there are lots of questions that would need answering to give an accurate analysis, but enough data is there to have good discussion driven by a healthy dose of assumption.

Recently, Bob Warfield over at Smoothspan wrote a couple of excellent multi-tenancy oriented posts. In one of those posts, Warfield drilled into the Salesforce.com numbers I mentioned earlier in an attempt to quantify the impact of their architecture on cost of service. Warfield gave some analysis around multi-tenancy on the overall cost of service incurred by salesforce.com. Looking at the salesforce.com annual report, it’s apparent that it costs salesforce.com $0.12-$0.13 per $1.00 of revenue to deliver its service for a total of $127 million for the year on roughly $1 billion in subscription revenue. Warfield identified that if they’re running 1,000 servers, we can use Amazon pricing as a roughshod estimate of what the actual servers would cost them if they were running on the Amazon cloud: about $4.7 million per year. That leaves about $122 million unaccounted for! As Warfield pointed out, clearly there are lots of other expenses. It’s most likely that these expenses are due to lack of automation and overabundance of personnel due to said lack of automation. To a degree, this means that multi-tenancy is doing its job: the software’s architecture and resource utilization is but a fraction of total cost of service.

To understand this better, let’s use Warfield’s numbers and recast the scenario with the question “What if Salesforce.com weren’t multi-tenant?” Currently, we know that about 55 customers are supported per server. Many propose virtualization as a route to multi-tenancy since it’s so easy to fire up an instance on say, EC2, and create a 1-1 affinity for a customer to a server. If we imagine Salesforce.com to use this architecture instead, one where virtualization is used instead of a multi-tenant approach, we get a drastically different picture. I won’t calculate the EC2 costs, but instead will use Warfield’s numbers: one EC2 instance costs about $4,700 per year ($4.7 million/1,000 instances). If we dedicated a single instance to each customer (that’s 55,000 instances based on Salesforce.com’s number of customers), it would cost Salesforce.com $258 million! Let’s be generous and give it a 2:1 leverage (maybe there is some server sharing) and cut the instances in half, we’re still pushing $129 million. Assuming that this virtualized approach got rid of all internal staff and expenses at Salesforce.com related to cost of service, we’d have to hit that 2:1 leverage to even be competitive with their current cost structure. More than likely, taking a virtualized approach wouldn’t entirely get rid of Salesforce.com’s “out of architecture” expenses since I’m pretty confident that not ALL of the remaining $122 million is dedicated to simply running their 1,000 servers, but some big chunk is. Even if a virtualized or in the cloud approach had a 2:1 leverage and slashed 75%  of the $122 million, Salesforce.com still wouldn’t have the cost profile they do now.

Point? It seems multi-tenancy at $4.7 million worth of hardware/software resources has a big something to do with the overall cost profile. As Warfield pointed out, something else is making up a brunt of the cost, but the architecture approach certainly seems to have depressed it’s part of the cost to something reasonable. Now, how about a multi-tenant architecture on EC2? I’d love to see some cost specifics in the wild on this sort of arrangement!

If you’d like to mingle with others in the SaaS space, the SaaSBlogs group on LinkedIn now has 1950+ members and is growing every day; make sure you’ re not missing out and join today!

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts
SaaSGrid Interview on Microsoft’s Channel 9
Is multi-tenancy more important than just cost savings?



Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Love the analysis of “backing out” multitenancy!

Salesforce are one of the most efficient operators out there, and it is a huge advantage for them. They spend every penny of the multitenant savings in other ways.

BTW, I am entirely confident that the cost to run all the virtualized servers in terms of people would be much higher than their non-hardware costs are today for multitenant.

Cheers,

BW

Thanks for comment, Bob.

As for “…the cost to run all the virtualized servers in terms of people would be much higher than their non-hardware costs are today for multitenant.”

I speculated as much, but didn’t want to comment on it. I know you have lots of experience here, so I appreciate the value you’ve added to the discussion. It really goes to show how quickly a couple of pennies per hour here and there add up!

A big part of SaaS cost is Database lic.. In VM DB layer (if you dare!), you will require 1 lic/VM image or upgrade to enterprise versions depending on the DB used. And that’s why multi-tenancy will still rule.. VM the DB layer is a bad idea anyway..

Atul, excellent point. Depending on your needs, you may even be paying for OS licenses (Windows). This adds up fast.

Note that Salesforce is using Oracle databases. –> Big cost!

Let’s give credit where credit is due. It is an easy application that was made available to the masses with speed and simplicity.

Talk to any user about their start-up and ongoing use of Saleforce.com and they’ll never say a thing about multi-tenancy. It’s about the speed to implimentation, product features and the market demand.

There are costs with replacing disks, doing firmware upgrades/etc on servers, heating, cooling, electricity.

They would save a tremendous amount of money by moving to the cloud. The key is automation.

What about when it’s time to “upgrade” that legacy hardware?