Windows Azure Pricing

Posted by Matt | Filed under , , ,

As a development platform for web applications, Windows Azure is very enticing.  It has front-end and back-end processing, on-demand scalability, robust file storage, simple object table storage, fast content delivery, and access to SQL databases.  However, for small or unproven applications, it’s actually cost prohibitive.

I want to concentrate on the “compute” cost of Windows Azure.  The standard compute rate is $0.12 per hour.  What does “compute” mean?  It does not mean CPU computing time.  It is available time.  This means a web application sitting idle is still costing you $0.12 per hour.  At this rate, it will cost $86.40 for a 30-day month, just to have the application “up”.

Many business applications not only have a web front-end, but they also have one or more worker back-end processes.  For Windows Azure, each worker back-end process also costs you “compute” time.  So, two processes (one for front-end, one for back-end) will cost $0.12 per hour x 2 processes x 24 hours x 30 days = $172.80 per month.

For a small developer starting a new application, that kind of price is ridiculous.  Especially considering that you can get a VPS server for under $50 per month.  Granted, you don’t get the redundancy and immediate scalability.  But is that really worth an extra $120 a month?

If we look at some of the Windows Azure “packages”, none of the non-introductory packages include enough “compute” time to cover an entire month.  A 31-day month requires 744 “compute” hours per small instance.  What is the point of offering 250 hours of compute time a month?  To avoid extra costs, I can only run my application 8 hours a day.

Let’s also examine this from the point of view of a new application.  No developer I know hopes that their new application won’t gain traction.  I think it is every developers best wishes that their application will get popular.  They hope that one day they’ll have to worry about scalability.  During the design phase, this presents quite a dilemma:  do you develop the application against Windows Azure now because you hope that the application will be popular and you like the development environment, or do you develop the application normally knowing that later on you will have to convert it?  For small developers, it’s a no-brainer:  you develop normally because the costs are too high otherwise.

For this reason, Microsoft needs to reduce the cost barrier-to-entry.  They need to make Windows Azure more cost-friendly for new and unproven applications.  Even if this means a cut in service somehow. For example, they could have a slower CPU, or a lower peak bandwidth.  They could have a shared processes option.  There are many possibilities.

An alternative is some kind of Windows Azure-lite: allow people to run Windows Azure projects outside of the main Windows Azure cloud in a simulated environment.  They already have it in the development environment, why not allow people to install a fake cloud on a VPS server?  This way, developers can create the application using the Azure framework and if the application proves to need the full resources available in a cloud environment, it’s as easy as uploading the existing project unchanged to the real Azure cloud.

By keeping small developers away from the production environment, Microsoft is going to drive developers to Amazon’s or Google’s cloud solutions and they’re going to kill the Azure platform for all but the largest of enterprises.

Additional Resources

Alternative Cloud Platforms

Comments

Comments are closed