Just what is "Utility Computing"

So what is Utility Computing?

I doubt I’m the number 1 authority on the subject, but here is my short view on Utility Computing.

The use of the word "Utility" is used to draw references to other utilities we may consume, such as electricity, gas, telephone. For either of these utilities, we generally:

  • Pay for what we consume, plus potentially a small "service" charge.
  • Don’t require huge investments in infrastructure to consume the utility. For example, to use electricity, we don’t need to build and run a power station. (unless you lived in the Redmond area during the 2006 holiday storm in which case you may well feel investing in a power station would be a good thing)
  • Only need some appliance or device that utilizes the utility, such as a fridge or washing machine.

Some immediate thoughts these points bring to my mind…

  • Can you imagine paying for just the applications you use, for the amount of time you use them?
  • Does this mean we’ll have giant "compute stations" that we’ll all plug into, run by utility computing companies?
  • Will the PC become more like appliance like?

I’m pretty sure if I knew the answers to these questions I’d be writing this post from my boat, and not the "office".

Anyhow, for this to work, the bulk of any application is unlikely to reside on your own computer. Its just too costly to maintain software easily on the variety of hardware/software combinations available to businesses and consumers today. It’s much easier building and maintaining one application that runs in one of those "compute stations" and have some sexy Ajax/Flash/Silverlight application driving the front end.

At this point, I’m thinking why am I talking about applications? Surely I’m now referring to services?

If I ran my own business, I would need a CRM application, I could use Dynamics CRM online. I need no data-center, just a credit card and I can start right now. I don’t even need to have all my employees connected to the corporate network, since there is no corporate network – they just plug into the Internet. All I need to do is to make sure they have a user account.

If I want the ability to share documents I could have my business use SharePoint Online, or for email any multitude of email providers, including Exchange Online.

Depending upon my business, I may need a whole bucket full of other applications, from HR to expenses. I’m sure if I did some research I would be able to find something online already for these types of applications (an experiment for another day).

There are a few thoughts that spring to mind here:

  • I no longer have the customized version of these applications, I’m using the standard "out-of-the-box" version, which I will assume meets most of my needs, is based upon "industry" standards or best practices and will be upgrade/updated at some point without another charge other than the monthly fee.
  • I no longer need my own data center. I now use the "compute station" and consume the services. A data center is of course, just hardware, OS’s, infrastructure, support/patching, power, cooling, physical space, software, software patches, configuration, inventory, management, monitoring and security – so that is not much of a saving really? (Yes I have a sense of humor!)
  • I no longer have a huge capital expenditure to get going and to keep still. I simply pay for what I use, and get the new features when they are available.

Do Dynamics, Exchange and SharePoint run in "compute stations"?

Yes, you could say they do. They are hosted by Microsoft in huge data centers somewhere.

Does this mean every application will eventually run in the "compute station"?

This is the question. At the moment, you can think of more reasons why not than why should. Data Privacy, current investments to name two. But in the future (and that could be 10 or more years away) I think there will be very few data centers in the world that are not run by "utility" companies.

"Compute station" is a really a dumb term. Its made up to illustrate a point. Instead of "compute station", we generally refer to these places as simply "in the cloud", thus also the term cloud computing, and my application runs "in the cloud".

So back to the post title. What is Utility Computing? Utility Computing is computing services that I consume and pay for based upon my usage, that are hosted in the cloud.

Simple eh?