Microsoft's Cloud Tax

By George Reese
December 24, 2008 | Comments: 12

As we approach 2009, there are only two reasons to pick JSP over PHP or .NET over JSP or any combination:

  • You have existing resources skilled in the technology.
  • You have an existing infrastructure that best integrates with a particular technology.

Ideological arguments aside, you can use each as the foundation for whatever web application you want to build. Each one certainly has individual advantages over the others. Over the scale of a web application, however, those advantages even out and it simply comes down to inertia.

In the cloud, existing infrastructure is irrelevant. A well-built cloud application uses the network as its integration point and can exchange data with any other application, whatever the underlying technology.

That leaves the "I have an army of (insert your technology of choice) programmers" argument. In general, it's a powerful argument. If you are going with .NET + SQL Server in the cloud, this one reason ends up having a heavy Microsoft tax associated with it.

In short, you pay a significant tax to Microsoft for the privilege of building your web applications in .NET + SQL Server in the cloud without getting any functional benefits for doing so.

Microsoft Other Tax
App Server $4,380/year $3,504/year $876/year
DB Server $9,636/year $3,504/year $6,132/year
Baseline System   $28,908/year $14,892/year $14,016/year

This configuration for the baseline system is essentially a $0.10/hour load balancer with 2 large application servers and 2 large database servers. The Microsoft tax is $14,016/year—almost double the cost of a JSP+MySQL or PHP+PostgreSQL or other web architecture. In addition, under the MySQL solution, you could save about $2,500/year by switching out the slave database for a less expensive small database server (assuming you are not using the slave to gain performance advantages on read operations).

That does not mean you should not use .NET+SQL Server, but it makes the calculation fairly straightforward:

If the cost over three years of building and maintaining a solution based on a different architecture is less than $42,048, you should go with the alternate architecture.

The Exception to the Rule

Obviously, if you are porting an existing application that leverages SQL Server stored procedures, the calculation is very different. The cost of migrating the SQL Server stored procedures over to another database engine alone will probably justify the cost of using SQL Server.

Another issue is that the database technologies have meaningful differences and strengths for different kinds of web applications. In particular, SQL Server is vastly superior to MySQL when it comes to reliable clustering for high performance write transactions. Even if you assumed MySQL and SQL Server were functionally equivalent in a clustered environment, you run into another concern... The MySQL Tax

A reliable (for various shades of reliable) MySQL cluster really needs five servers. The database end of the equation ends up being $17,520/year compared to $19,272 for a SQL Server cluster. For $1,752/year, I'll take the SQL Server solution over the MySQL solution.

Don't agree with this assessment?

Start a discussion below or get me in real time on Twitter at @GeorgeReese.


You might also be interested in:

12 Comments

Quote:
"In short, you pay a significant tax to Microsoft for the privilege of building your web applications in .NET + SQL Server in the cloud ***without getting any functional benefits for doing so.***"

I don't get it... are you saying that the benefits MS claims of Azure are not real? I mean, of course if you simply build the same application, for the same target audience, you'll pay extra for nothing. But the point is that you'll pay for cloud services because you need (for example) the kind of scaling it provides, without maintaining your own world-wide data centers etc.

Can you explain further what you mean?

Where did you get the pricing for this comparison? I can't see anything official on Microsoft's site.

I'm confused by the pricing per year; perhaps you can explain why I would need to pay a yearly license fee for Microsoft software. As far as I'm aware, larger organizations buy a Software Assurance plan, but in this scenario, it would seem that I'm just buying normal OS and SQL Server licenses. Or are these Amazon cloud prices?

I assumeyour comparing with non-supported Open Source solutions only. If you throw a WebSphere solution on RedHat Linux, that's going to run you $25,000 - $50,000 per year...

Isn't the premise that there are only two reasons to pick one technology over another a false one? I can think of at least one other decent reason: the quality of development tools targeting the technology. Better tools means better experience, potentially faster iterations, better debugging, etc. Factors which should play into the bottom line but are nearly impossible to gauge until months after the transition from one technology to another.

Calling a vendor fee for a product or service a tax is an Orwellian misuse of language, like calling a leer a rape or comparing Bush to Hitler. It is a device typically used by advocates who need to use emotionally charged words to cover the weaknesses in their positions. I would take this article more seriously if the topic was "Microsoft solutions more expensive than comparable ones" or even "Note -Microsoft overcharges for products"

I wonder if anyone could calculate an Oracle tax for this kind of setup :)

I think George really needs to let us know where he got his pricing from. This is the basis of his entire post. Regardless of what he thinks we get or don't get for the price, I can't seem to find any ballpark figure anywhere.

Looking on the Azure site the cost is clearly free while in CTP and the expected launch isn't until the 2nd half of 2009. Also, their FAQ states they are still working on pricing based on feedback from the CTP users.

David Aiken ("a Senior Architect Evangelist working for the Azure Services Platform Evangelism") was recently interviewed on Dot Net Rocks talking about Azure. He indicated that there are still several things to work out internally before they come up with a pricing model. The only thing he would say is it would be in line with other vendors. Take a listen at:
http://www.dotnetrocks.com/default.aspx?showNum=403

So, George, where DID you get this pricing from?

The pricing is based on Amazon's pricing for Microsoft solutions in the cloud.

Someone mentioned adding the quality of development tools to the equation. But if you go that route then you would also have to look at things like flexibility of languages, frameworks, etc. These things quickly get subjective and really boil down to the preferences of developers and their skill sets. I've done a good amount of work in ASP.Net as well as LAMP and find that I can get more done faster in LAMP. That may be the opposite for someone else. You really can't go any further than the cost of the base platform to make a hard comparison.

Please link to your pricing resources. Without them this article is not worth much.

A very interesting article with an innovative comparison methodology being used.

News Topics

Recommended for You

Got a Question?