Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/nebupook/public_html/include.database.php on line 2 - NP-Complete - Windows Azure (MS's foray into SaaS OS)
Windows Azure (MS's foray into SaaS OS)

As I’ve mentioned previously, Microsoft is exploring Software as a Service (SaaS) both in their Office and Windows series of products. I’ve recently linked to some screenshots of the SaaS version of Office in my Twitter, so here’s my analysis of their SaaS version of Windows.

So first, to dispel any misconceptions before they have a chance to spread: Windows Azure is not Windows 7. Windows Azure is not intended to be used by directly end-users (yet). Windows Azure is intended to be used by programmers and businesses.

ArsTechnica covers Microsoft’s recently announced pricing structure. In brief, you’ll have to pay 15 cents per gigabyte of storage used, 12 cents per hour of CPU usage, and 1 cent per 10K of bandwidth. This hints towards the future I had mentioned earlier, where you would no longer be paying for software (which would instead be distributed for free), but instead for services.

What this means for you today as a end user: not much. You probably won’t ever directly rent any space nor time on Windows Azure, because it’s not compatible with any of the programs you’ve currently got installed on your computer, and nobody (not even Microsoft) is campaigning people to switch over from XP/Vista/7 onto Azure. So what’s the purpose of Azure?

It’s intended for businesses and programmers. The easiest way to explain it is via an example use-case. Let’s say I’m a programmer, and I’ve got this great idea for a massively multiplayer online game (MMOG). I’ve already got most or all of the labour done (I’ve programmed the game, got the art drawn, the music composed, etc.) The only issue now is that I need a server to host the game on. The problems: I don’t have business-quality internet connection stability; I don’t have amazing bandwidth; I don’t have a super computer with backup servers.

ISPs charge businesses a much higher rater per month for an internet connection than they do for residential connections. The reason (ostensibly) is that there are much more stringent requirements for business internet connections. If once a year, your home internet dies, you’re kinda upset, but you can just read a book, or go to your friend’s house, or an internet cafe. But a business that relies on the Internet (e.g. Google, Amazon, etc.) needs to be up 24/7 or they will lose a ton of money and customers. Even if they only lose connection for on average 1 hour every 3 years, this is still an unacceptably unreliable connection for these types businesses. If I’m going to run a serious MMOG, I cannot rely on residental quality internet connections, or I will lose paying customers when they can’t log into the server.

Let’s say my MMOG gets successful, and I start getting hundreds, if not thousands, if not tends or hundreds of thousands of players. I’m going to need bandwidth. Now plenty of residental users have pretty decent download bandwidth, but upload bandwidth is pretty rare, and that’s the kind of bandwidth an MMOG server needs. If I publish a patch to fix some bugs in my game, I need to send these patches out to the players. Typical game patches can be anywhere from 1 meg to 300 megs. Even if you take a middle ground of 20 megs, with ten thousand players, that means you need to upload 200 gigs. But you can’t dedicate your entire upload bandwidth to publishing these patches, because you still need some bandwidth leftover to actually let the players connect to the game.

If you MMOG has thousands of players, you’re going to need a pretty powerful computer to actually be able to perform all of the calculations necessary to ensure the rules are being followed, and that the world reacts in the appropriate way to the player’s behaviour. You’ll actually need many such computers, because as a business, you need backup servers. If something fails (your harddrive breaks, your CPU overheats, etc.), you can’t just tell all your customers that your game is going to be down, and you’re not sure when it’ll be ready again, because FutureShop or BestBuy still haven’t contacted you yet with an estimate on how long the repairs will take, or the replacement harddrive you ordered online is stuck at customs.

In other words, the second biggest hurdle for developing your own MMOG (besides actually developing the game) is the cost of setting up all the required infrastructure. This is the problem that Azure sets out to solve. As a business person, you would determine how much computing resource you expect to need per customer (how much CPU, bandwidth and storage an average customer would consume per month to play your game), add a bit of margin on top of that, and charge that much as your monthly fee. Let’s say each customer costs you $10 per month. So charge them $25 per month, expect to pay $10 to Microsoft per month for usage of their Windows Azure platform, and pocket the rest. You don’t need to invest in buying expensive hardware or internet connection.

SaaS very much looks like it will be the future of computing, but it’s still in its infancy, so it’ll be a while still before consumers directly rent computing resources. Windows Azure is akin to how a couple dozen years ago, computers indirectly affected your life, even though you probably didn’t own one (and possibly didn’t even know it existed); instead, you interacted with organizations (like banks, and the government) which used computers. Today, you’ll interact with organizations that are using Windows Azure, perhaps unaware of its existence, and in a few dozen years, perhaps everybody will be renting computer resources instead of upgrading their hardware.

Deprecated: Function ereg_replace() is deprecated in /home/nebupook/public_html/include.parse.php on line 60

Deprecated: Function ereg_replace() is deprecated in /home/nebupook/public_html/include.parse.php on line 61
E-mail this story to a friend.

You must be logged in to post comments.