What is Cloud Computing?

Introduction

Let’s make it clear from the start – the cloud paradigm is the most significant change in computing since the rise of the Internet in the 1990’s. It will have ramifications to businesses, governments and individuals that we cannot even begin to imagine. Think of a future where the vast majority of data, processes and computing power no longer reside within physical walls of your business, home, computers or mobile devices. Like some futuristic vision from a science fiction movie, anything you want to accomplish with information technology will be accessible from anywhere, from any device, instantly, and eventually without having to plan in advance what you might want to do.

Notice that I used the word “paradigm” to categorize cloud computing. Cloud Computing is not a technology. It’s a way of defining and deploying technology. It’s not related to any specific vendor, product, or services provider. In fact, there is only one required technology underpinning for the cloud – the Internet.
Like any significant disruption, new players will emerge to challenge the old guard – some of whom may find it difficult to respond.

Cloud Computing Defined

What is cloud computing? There have been dozens of attempts to define cloud computing, all of which reflect the author’s viewpoint, but which may be either incomplete or over-reaching in the perspective of others.

In its broadest form, cloud computing is any service or information delivered over the Internet. From static web sites, to e-commerce, to Internet banking, to browser-based enterprise applications – it’s all running in the cloud. The very broadness of this definition, however, may provide limited value to understanding what’s going on here that’s so new and powerful.

On the other end of the spectrum, some people view cloud computing as the core infrastructure – servers, storage, networking, etc. – moving outside of your physical control. If a consumer backs up their local PC or Mac to one of several internet storage services, instead of to some local external disk, that’s cloud computing on a personal level. For enterprises, that means moving some or all storage, CPUs, and other infrastructure components out of the physical control of the IT function and into the control of one or more providers. For these practitioners, cloud computing means nothing more than never having to buy and manage physical infrastructure. Let someone else keep the iron running so I can focus on the applications that drive the business.

For the purposes of this article, we will go a bit to the middle while keeping the focus on how this paradigm relates to business or government decision makers (vs. consumers). Our focus here is on informing business and governmental decision makers, not waging a religious debate with the technorati.
So, here we go…

Cloud computing is the transfer of IT assets – servers, applications and processes – to the Internet, and from a capital expense to an operating expense. Further, in it’s most powerful form, cloud computing provides these assets in a way that scales (up and down) based on the required workload while providing the illusion of virtually unlimited capacity.

There are four key concepts here.

  1. your infrastructure and applications now reside in the cloud
  2. you no longer acquire IT as an capital asset, you rent it
  3. at any given time, you are only renting exactly what you need, allowing you to treat capacity planning is far more elastic and flexible
  4. your use of technology is no longer limited by the computing resources you own – rather it is only limited by the collectively available computing resources available in the cloud (as a practical matter – capacity is unlimited)

Let’s dive a bit deeper into each of these concepts.

IT Assets are Cloud-Based

Depending on the size of your organization, you may have tens, hundreds, or perhaps tens of thousands of servers running in data centers that you control.  Each of these servers has one or more CPUs, hard drives, and other componentry.  Your systems are generating lots of data which needs to be stored.  That data can be stored locally on those servers, but for most organizations of any size your data is stored in dedicated storage equipment.

Further, applications licensed from vendors or built by in-house or external developers, are used to run your business.  Accounting, HR, manufacturing, e-commerce, business intelligence, databases and potentially thousands of other applications are running. Forrester Research estimates that large enterprises can be running from 2,000 to 4,000 separate applications.

In a cloud computing model, some portion (increasing over time) of your hardware and application assets will migrate out of your physical control and into the cloud.  Instead of running servers in-house, you’ll get them from a cloud infrastructure provider.  Instead of running an in-house CRM application, you may choose to use Salesforce.com or another CRM software-as-a-service (SaaS) vendor.

The business implication of this is significant.  With fewer servers to manage, you need fewer systems administrators on your payroll. But you are also reliant on a third party more than before when things go wrong, so it’s important to have strong SLAs and controls in place to ensure the responsiveness needed for your particular applications.

You No Longer Acquire IT Infrastructure, You Rent It

Capital budgeting is a pain in the you-know-what at most companies. You need to spend a lot of money now and show an acceptable ROI in some given time period. The capital you deploy to IT has an opportunity cost – it can’t be deployed elsewhere.

With cloud computing you are renting, not buying. You rent the servers, the infrastructure software, or even complete end-user applications. This frees up capital today that can be used for other purposes (or saved for a rainy day).

You Only Rent What You Need

Sometimes it’s hard to plan the capacity you will need to run a particular application. If you don’t know in advance exactly what you might need, the likely result is that you will try to “be conservative” and acquire enough to keep you running if demand or load is high. But what if the demand never materializes? Or what if it vastly exceeds your planning assumptions? In both cases you’re hosed.

Build it too large and the ROI never materializes. You’ve got a room full of expensive servers and software running at 20% of capacity – or less! Fail to plan for a lot of load, and your system could grind to a halt. You may have users wanting to get in who can’t – and this can cost you sales, productivity and other losses. Under-provisioning is by far the worst scenario because acquiring more capacity and getting it installed takes a lot of time – time you may not have. So, we’re back to the more frequent case of over-provisioning.

With cloud computing you rent what you need when you need it. In some cases, that can change hourly or more frequently. If your acquired servers sit idle for 16 hours per day but get hammered the other 8, you’re paying 3x what you need. On the other hand, if you can scale up/out your infrastructure every day before the peak load arrives, and scale it down/in when the load drops off – now you’re saving some serious money! Or perhaps you are hiring quickly for seasonal needs, but then you release people when the slow season starts. If you purchase servers and software licenses for your peak activity, you’re still paying for them in the off-peak season.

Cloud computing allows you to dynamically scale up/out and down/in based on what you need at any given time. This is far more sensible.

“Unlimited” Capacity

Cloud computing gives you the illusion of unlimited capacity. I say illusion because even Amazon or Google have only so many servers. But they have enough that you’ll likely never not be able to get as much capacity as you need. This has been proven in many consumer-grade applications that get viral and see utilization explode to the point that the number of cloud servers used can go from a couple dozen to several thousand in a matter of hours.

Of course, no amount of “capacity” can overcome a poorly design application. But assuming you’ve designed your system to scale, using public cloud infrastructures means that it’s highly unlikely that you can’t get the capacity you need when you need it.

This is just a start of the discussion, but I hope it’s helpful. Yes, I know there are private clouds and hybrid clouds to discuss, and some content on IaaS, PaaS and SaaS would help. Stay tuned. – John

  • Second to last paragraph: "no amount of “capacity” can overcome a poorly design application." <<< do you mean poorly designED application? Just something i caught reading. Feel free to delete this when you are done. Love the site though!
  • Hi Alec - thanks for the compliment, and for the proofreading!!

    Best,
    John
blog comments powered by Disqus