Todd Anglin's Code Campground

A casual look at the world .NET coding

July 2009 - Posts

Azure Cloud Pricing Falls Somewhere Between VPS and Dedicated

As you may have heard by now, Microsoft has just unveiled the official pricing for its forthcoming Azure cloud computing platform. Ever since its introduction at PDC08, Microsoft has been very coy about the pricing for Azure. They’ve always defaulted to the party line that Azure pricing will be “competitive” with other cloud offerings.

Today we learn exactly what “competitive” means.

According to the Azure Team Blog, pricing will be about $.12/compute hour, $.15/GB/month for storage, and $.10in/$.15out/GB for bandwidth. There will be additional flat monthly charges for using Microsoft’s “SQL Azure” (or SQL Server in the cloud). I won’t repeat all of the pricing details- they are easy to find on the web now- but I will provide some analysis of how Azure seems to compare to other “traditional” hosting options.

In my experience, there are 3 basic hosting types:

  1. Shared – You get a single website on server hosting many other people’s web sites. (Cheapest option, least control – pricing usually $5 - $15/month)
  2. Virtual Private Server (VPS) – You get a single Windows VM on a server hosting other people’s VMs. (More expensive than shared, less expensive than dedicated, complete control over OS configuration – pricing usually $99/month and up depending on server config)
  3. Dedicated – You get a single dedicated server that only hosts your web sites (Most expensive and most configurable option – pricing usually $200/month and up depending on power of server, quality of service)

With the introduction of Azure, there is now a 4th hosting type for .NET developers to consider:

  • Cloud – You get a single website on a “cloud fabric” that can be configured to run on 1 or more virtual “instances” (Most scalable and (perhaps) reliable hosting, little control over environment)

How does the cloud pricing compare to other hosting types? Let’s do the math for a “typical” website running a single Azure instance:

Hosting:  about $90/month ($.12/hr * 24 hours * 30 days)
Bandwidth: about $3/month (assuming 10 – 15 GB bandwidth)
Storage: < $1/month (assuming up to 6GB of storage)
SQL: $10/month (assuming 1GB “SQL Azure Web Edition”)

So that brings that the grand total for Azure hosting to roughly $100/month.

Of course, with Azure, there is no “flat rate.” Everything is based on actual consumption (except for SQL Azure), so if you use less bandwidth or less storage, your bill will be…relatively unchanged. That’s because the real bulk of your bill is tied-up in the “computing hour” charges, which will be at least $90 per month for a single Azure instance.

Where Azure’s “consumption pricing” starts to be an advantage is if you have “peak” processing times when you need additional instances of your application running for a short period of time. With Azure, you’ll only be billed for the additional instances for the time they are running, unlike traditional hosting that usually charges you for (at the very least) a full month’s service for additional hosting instances.

Azure’s Threat to Shared Hosting

Soon after the announcement of Azure at PDC08, the halls were buzzing with people wondering how this “hosting in the cloud” would affect “traditional” .NET hosting providers. Would Microsoft put great hosting companies like DiscountASP.NET out of business? How could shared hosting compete with all that cloud computing has to offer?

Now that we have pricing, I think it’s clear that shared hosting providers are safe. In fact, all existing hosting providers are probably safe from losing much business to the cloud as Azure seems to fit somewhere in-between Shared and VPS services:

  • Azure provides little control over the hosting environment, like Shared Hosting
  • Azure runs your “instance” in a dedicated virtual environment, like VPS Hosting
  • Azure is priced competitively with VPS, but it is significantly more expensive than Shared Hosting

What do you think of Azure’s pricing model? Is $100/month the price you would expect to pay to have your site run in a cloud environment? Or for that price, would you rather have the control that a VPS offers? Sound-off and then prepare for the official Azure launch this November at PDC 2009.

Another Solution for Defeating the SQL Server 2008 Installer with Visual Studio 2008

Here’s the problem:

I have a clean Win7 RC box with VS 2008 SP1 installed and a working SQL 2008 Express “Data Base Engine” (installed via the Web Platform Installer). I discovered that SQL Management Studio Express was missing, and there began my long and frustrating journey to install Microsoft’s SQL management tools…

I’m not sure why the tools were missing in the first place, but it turns-out that there is no simple way to install them. There is no separate installer for the tools as there was (so conveniently) for SQL Server 2005. [UPDATE: After fighting a long battle, I rediscovered an option in the new Web Platform Installer to add the SQL Management Tools to SQL Server 2008. A little late now to know if that would have worked, but hopefully you can give that a try before getting too far on your own painful SQL Server 2008 journey.]

Enter the SQL Server 2008 installer. After countless attempts to “add” the tools to my existing install, I could never get the installer to provide me with the desired options. Not one to waste time “fighting software,” I uninstalled SQL Server 2008 and started fresh. To my dismay, the SQL Server 2008 Installer started throwing this install-blocking error at me when trying to re-install:

Setup will not complete because the rule "Previous releases of Microsoft Visual Studio 2008" failed.

This message further asserts that you must install Visual Studio 2008 SP1 before the installer will continue. But…like many others, I already installed SP1!

So, I began looking for hacks around the installer. There are many options scattered across the web, but the tip that finally made things clear is this:

The SQL Server 2008 installer is checking the HKLM\SOFTWARE\Microsoft\DevDiv\XXX\Servicing\9.0\SP reg keys to tell if SP1 is installed. If you inspect those keys and find any SP keys with the value “0,” that is your road block.

As it turns out, every installed version of Visual Studio 2008 must have SP1 installed for the SQL Server 2008 installer to work. This leads to the other main source of confusion:

If you installed SP1 for your “main” VS 2008 version (such as Pro or VSTS)- and you’re sure of it- there is probably some other version of VS installed that does not have SP1 installed (such as Express or- as in my case- Shell).

Inspecting your reg keys is the fastest way to discover if such a version is installed. In my case, I discovered that there was an entry for both “VSTS” and “IDE” in my Visual Studio reg keys. VSTS was my main Visual Studio version, and its SP reg key correctly indicated that SP1 was installed. For the IDE entry, though, the version was listed as RTM with no SP.

What is the “IDE” version of Visual Studio?

Thanks to the info on Heath Stewart’s blog, we learn that this reg key entry is for Visual Studio Shell edition. It’s not clear when this version of VS2008 is being installed (or how important it is for other programs), but uninstalling it or upgrading it to SP1 is yet another way to solve your SQL Server 2008 install problems.

One more handy tip.

If you really want to take a blunt-force approach to any of the SQL Server 2008 “warnings,” there are command line switches that enable you to bypass some of the rule checks. Originally revealed by “Paul” in the comments of another blog post, you can use the following switch to launch your SQL Server 2008 installer with the VS version check and “reboot required” rules disabled:

setup /ACTION=install /SkipRules=VSShellInstalledRule RebootRequiredCheck

Based the sheer volume of comments and blog posts already on the Interwebs about this very topic, it would seem that Microsoft may have regressed a bit with the release of SQL Server 2008. I’m sure there are plenty of “good reasons” for why SQL Server 2008 “has” to be so dependent on VS 2008, but the end result is clearly lots of frustration for users. I hope MSFT takes note and makes things simpler for the next version. I know many hours of frustration will be saved if they do!

More Posts