Like this article? PLEASE +1 it! Evan Signature
Evan Carmichael Top Header
Share for a Cause









What is Utility Computing and What It Means to You

Written by: Kate Craig-Wood

Article Overview: I'm constantly being asked about the concept of utility computing, and recently, it has been a major theme at IT conferences. Despite the attention the concept is receiving there is still a lot of misunderstanding, both about what it is and why it will be important over the next few years. So, what is utility computing all about? Kate Craig-Wood, MD of IT Hosting company, Memset explains.

Free Download - What is Utility Computing and What It Means to You By Kate Craig-Wood
Name: Email:

What is Utility Computing and What It Means to You

Utility computing is basically what we as an IT hosting provider do but taken to a shorter timescale. We can rapidly provision virtual severs, dedicated servers or server clusters and rent them to customers on flexible terms (eg. monthly contracts). Utility computing is the extension of that concept but instead of talking about servers it is the provision of chunks of general computing resources (CPU, RAM, disk etc) in real-time response to demand, and on short time scales such as hours, minutes or even seconds, and billing the customer for the resource-time used.

In other words, utility computing is the provision of computing resources as a utility, in the same way that the familiar utilities (electricity, water, gas) are provided; on a pay-as-you-use basis. Sometimes utility computing is called “on-demand computing” - the terms are synonymous. In a utility computing model the following resources would be available “on tap”:

∑ CPU time
∑ Cores & clock cycles per second
∑ Floating point processing vs. integer processing (MIPS vs. FLOPS)
∑ RAM (MBytes used)
∑ Access speed / latency time
∑ Data storage (GBytes used)
∑ Maximum I/O throughput (MBytes per second)
∑ Maximum transactions per second (I/O operations per second)
∑ Resilience (eg. RAID level)
∑ Bandwidth (GBytes transferred)
∑ Latency
∑ Network resilience

Before going further, it is worth mentioning grid computing and cloud computing. These terms are often used in the same breath as utility computing, or they are confused with each other. While interconnected, though, they are different concepts (don't worry if the terms below look a bit technical; the important bits are explained further down):

∑ Grid computing is a technical approach spanning an application across multiple computers within one administrative domain (one provider, not necessarily one location).

∑ A compute grid is a collection of computers within one administrative domain capable of hosting a distributed application.

∑ Grid is about infrastructure.

∑ Utility computing is a sales approach, treating computing resources as a utility in the way we treat the familiar utilities (water,gas,electricity etc.). A utility computing provider would sell resources on their own grid(s).

∑ Utility is about business relationships.

∑ Cloud computing means an open market for computing resources; utility computing applied to multiple grids.

∑ A compute cloud is a grid spanning multiple administrative domains with applications able to move between domains in response to cost and SLA requirements.

∑ Cloud is about scale and the computing resource market

Cloud computing is grid computing extended across multiple administrative domains combined with the utility computing sales approach resulting in an open market for computing resource, with the potential for applications to roam between administrative domains (eg. a data centre, a collection of PCs, a super computer), automatically seeking out the most cost effective resources that fit within their SLA requirement. Lets return to utility computing though (which is where you are buying resources from just one provider).

At present utility computing has not become main stream, but it is coming and already the Internet mega-corps are starting to sell resources on their grids, for example Amazon's Elastic Compute Cloud and Google's App Engine. It is not just the big boys moving into that space though, IT hosting companies like Memset are headed in that direction too, and a good way to understand utility computing is to look at the way companies like us are evolving our services.

For example, take one of our Xen-based Miniserver Virtual Machines; a client might initially just want 256MB of RAM and 30GB of disk space, but in time their requirements might grow beyond one machine and onto a cluster of powerful dedicated servers. This approach (allowing the client to start small and grow the resource allocation as needed) gives very large cost savings to them (as well as no up-front capital expenditure) and is very green; we balance the load across our pool of Miniserver host machines to make efficient use of the available disk and CPU resource (bandwidth is secondary since if you don't use it all, it is not really consuming power).

The above is a very crude example of computing as a utility; the next step is our deployment of on-demand clusters where the client has, let’s say 10 servers dedicated to his application, but at normal loads only 3 are required, so only 3 are powered up most of the time. As demand increases our in-house management software spots the trend and (ahead of requirement) brings the other nodes in the cluster online. We plan to incentivise our clients to use this system by billing them separately for electricity, so if they let us turn off the machines that are there just to cope with load spikes and normally not being used, it costs them less.

That is still not true utility computing though since the customer still has hardware dedicated to them. We will be offering true utility computing when we can virtualise customers' server clusters and dynamically allocate them to machines in our server pool that are not necessarily dedicated to that client. That is also when you truly get the big cost and energy savings; imagine us hosting a big online game in the same data centre as a back office function of a large corporate. During the daytime the back office function might need 50 servers to run, and the game only 10, but during the night the game might need 50 and the back office 10.

With traditional provisioning you would have at least 100 machines on and running all the time, but with utility computing you only need 60 or less. In reality it is even worse since no sane CTO would run his application without some overhead room to cope with load spikes, but again you get that for free with utility computing since the load spikes just become a ripple on top of all the baseline operations, saving you even more cost and carbon. I estimate that if all UK data centre operations were running in a true utility computing environment we would be able to reduce our power and hardware requirements by a factor of ten.

Utility computing in the above sense also gives you another big advantage: inherent resilience. If any one server (node) in the hardware pool fails the client's application will carry on running because it will automatically be running on more than one node. This means that even small customers can have the benefit of a server cluster but at a fraction of the normal cost.

There is a catch though; to get the really big savings (in terms of money, energy and hardware) you need to consolidate large numbers of diverse applications (with different load characteristics and different usage patterns) into a small number of big data centers, or at least a small number of big utility computing pools. The problem is that most CIOs are still unsure about the security of virtualisation (for no good reason I might add), let alone allowing their applications to "roam" freely across pools of servers, being allocated CPU & disk resources that might have moments ago been used for one of their competitors.

However, as with most big cost-saving & green initiatives, to get the real benefits of utility computing we need to change the way we think and operate at an organisational level - rolling out some shiny new technologies by itself is not enough. In this case we need to lose our outdated attachment to tin and the idea that "this application runs on those boxes there". Instead we should view CPU time and storage space as facilities to be rented as and when they are needed, in much the same way as we do with bandwidth. After all, the routers feeding your 'net connection might have been being used for something quite different other moments before, but we don't care - why should we with servers?

Related Articles
  What is 'Cloud computing' ?
  Cloud Computing: How the Future Looks
  Electricity Saving Device (ERD’s)
  Benefits of Cloud Strategy
  Applications in Cloud platforms

Home > Going-Green > Kate Craig-Wood > What is Utility Computing and What It Means to You
Article Tags: access speed, admini, administrative domain, clock cycles, data storage, different concepts, flexible terms, general computing resources, grid computing, maximum transactions, multiple computers, network resilience, raid level, ram disk, resource time, server clusters, technical approach, time response, time scales, water gas



Related Forum Posts
Re: Invoicing Re: Invoicing - [quote="bennyboy7":243h82ue]Hi All I was reading an interesting article when I was in my bank the other day. It said that more and more companies are now charging interest on invoices that are paid late. Does anyone use this method? I think it could damage your relationship and decrease anymore work with the client? What do you think? Its a tough choice...[/quote:243h82ue] That's always been a common practice in businesses I managed and companies I dealt with. Utility companies and many other businesses do it all the time. There can be some exceptions, but its a good practice to have in place. It is a definite way to encourage people to pay on time. If there is a good reason not to pay a bill on time, then the fees can be waived. You can also take a page from the credit card companies and charge interest and a past due charge for delinquent accounts. Shri
Outsourcing Increased My Productivitiy By 200% Outsourcing Increased My Productivitiy By 200% - Recently I’ve been testing some new ideas with “outsourcing” for Internet Business Path and from what I can gather, it’s been able to increase my productivity by at least 200%. What I did before outsourcing work to people was to create a mindmap of what the business needed in order to grow and continue to run without my input. Below is the mindmap of my businesses in it’s simplest form: IBP Mindmap If want to create one, a really good software to use is FreeMind. It’s very easy to learn and very powerful for any business because it allows a business owner to laid down their ideas in a logical path. Since applying a mindmap to my business I’ve been able to design the system to increase my productivity by 200%. How Do I Outsource If I Don’t Have The Money? Firstly let me say, if you don’t have the money to afford $3 - $5US an hour to pay someone to handle your tasks that needs to be done repetitively, then you shouldn’t be in business. Okay, I’ll be fair and tell you this: I had the mindset previously to do everything myself because it was always about not having enough money. I know how you feel when you first start running an Internet business or is still a one man show, but it’s having the courage to step out of your comfort zone and learn to delegate tasks to other people to do. It’s not going to be perfect at the beginning, but with a little training, some trial and error and time you will be able to leverage your time and increase your productivity. Outsourcing Administrative Tasks An example that I’ve been able to outsource for $3 US an hour is the ability to get my virtual assistant to check and reply to customer service emails every second working day. Provided that I have given the guidelines and information for how to respond, I have eliminated at least 10 hours a week of my time that I used to spend replying and following up emails. When you think about it, it only costs me around $30 US for a virtual assistant to free up 10 hours of my week. Isn’t that worth the trade off when my time is worth $500 per hour? There are many other examples I could give you on how to outsource your work, you can read more of it in my Internet Business Blueprint report. A Web Developer Will Solve All Your Website Issues If you’ve read my business timeline, you would know that I graduated with a Computer Science degree from UNSW. Even with a degree in Computing Science I’m still not a good programmer and I choose not to be. I would rather leave the technical issues for a web developer that I can hire on an ongoing basis and pay them to work on my projects. It would take them a couple of hours to do something that would take me all week. Hence the websites I design and this blog you are reading has been designed by a web developer I hire and I simply project manage the process to achieve a great result for my clients. A Bookkeeper Will Keep The Tax Office Happy If you’re like me and hate seeing piles of invoices and accounts unreconciled, then I know you would hate book keeping. It’s a crucial part of your Internet business and without it there’s no way to measure how well your business finances are doing. There are systems that allow you to keep track of your business online, but not all of them are compatible with the tax laws within your country. Therefore I still purchase accounting software that is meeting Australian standards, such as MYOB Accounting. I hire a book keeper to help make sure my accounts are up to date and to generate reports to show me the financial health of the business. I hire a book keeper on a monthly basis where I can have all my paper work batched and she will enter the information at one time. She makes sure that my books are up to date and tax is paid on time and I don’t get calls from the tax office. She would save at least 20 hours + a month of book keeping that I would have had to do myself, all for the cost of a dinner with my partner. I’m Still The Writer And Internet Marketer I love writing and expressing my ideas on Internet Business Path and will continue to do so for a very long time. I found that it’s a great way to communicate with people from all over the world and I love receiving feedback and comments. I do this because I’m passionate about Internet business and if you know me I usually share my ideas with my friends and family most of the time. I could outsource the writing to a ghostwriter quite easily and let someone else do the marketing, though I have learnt that these are my strengths and communicating and promoting my business is my passion. Tyrone Shum Outsourcer


Recommended Article for You close

  What is 'Cloud computing' ?

Share this article with your friends. Fund someone's dream.

Leave a comment below or share on the left and you'll help support entrepreneurs in Africa through our partnership with Kiva. Over $50,000 raised and counting - Please keep sharing! Learn more.



Featured Article


Bottom Footer
Share for a Cause












Newsletter

Get advice & tips from famous business
owners, new articles by entrepreneur
experts, my latest website updates, &
special sneak peaks at what's to come!
Name:
Email:
Popular Articles

Life, Conflict and Work

In the Year 2020 . . . Process

Build Corporate Credit for Your Small Business

Suggestions

Email us your ideas on how to make our
website more valuable! Thank you Sharon
from Toronto Salsa Lessons / Classes for
your suggestions to make the newsletter
look like the website and profile younger
entrepreneurs like Jennifer Lopez.