Servers

What we mean when we talk about cloud computing

Nick Hardiman takes a look at the many variations on the definition of "cloud computing." Is there any consensus?

Now that "the cloud" is everyday speak for many people, even in the consumer world, what do we really mean when we talk about cloud computing these days? Well, it is OSSM (On-demand, Scalable, Self-service and Metered). It's definitely about business startups, devops and Silicon Valley. Or maybe it's rapid provisioning, multi-tenant, and multi-purpose. In reality it's a combination of Web 2.0, virtualization, and big data. Are these all true? Or none of them? What makes a decent definition? Is cloud computing even the right phrase to use?

The phrase cloud computing has been popular currency for a few years now, but phrases come and go, especially those related to technology. Some phrases are current, like Googling, some are fading, like Googlewhack, and some have disappeared into the past such as Enid Blyton's Google buns. In the future "cloud computing" will go the way of "information superhighway", but for now it is still stuck on many kinds of IT operations.

The problem with defining "cloud computing" is the amount of ground it covers. A couple years ago the problem was straightforward ignorance -- it was new, poorly understood and everyone was struggling to come up with a decent definition of cloud computing. Now many people have a handle on what that phrase means - or at least as far as it relates to their own work. Cloud computing is a collective label that means something different to a sysadmin, a programmer, and a salesman because they use radically different cloud services. The perception of each one is coloured by the types of services they consume.

Service models

If you really need a good definition of cloud computing for design and build work, you could start with the huge Wikipedia cloud computing page. This entry kicks off with the three service models

  • IaaS - raw power for system administrators
  • PaaS - development environments for programmers
  • SaaS - business services for end users

And that's probably about as far as most people, who aren't students with essays to hand in, get.

Characteristics

The US government agency NIST (National Institute of Standards and Technology) provides an excellent high-level breakdown. Government departments, revving up million dollar projects, must use the NIST definition of cloud computing. The definition includes these characteristics.

  1. On-demand self-service - No waiting, no fuss - fill out a form and get started.
  2. Broad network access - access your services from anywhere using your mobile phone
  3. Resource pooling - it's all multi-tenant behind the scenes. No dedicated resources here.
  4. Rapid elasticity - scale out as much as you want to meet demand, then scale back in to save your money.
  5. Measured service - utility billing means you pay for what you use, whether it is storage, processing, downloads or any other billable activity.

Services

If you run an SME, you may not care what the big picture is - you just want to know what tools you can use. Amazon Web Services is still king of the hill, with a huge set of services on offer including:

The gory details

There is no definitive list. An infrastructure provider may offer infrastructure load balancers and floating IP addresses, a platform provider may offer a code repository and testing tools, and a software provider may offer a web user interface for administration. Or they may not - the industry seems to be working towards normal sets of features, but they don't exist yet.

The IEEE is one of the standards groups that have taken on the unenviable task of trying to nail down descriptions of the cloud ecosystem, describing interfaces, file formats, and conventions. An IEEE working group is creating a Guide for Cloud Portability and Interoperability Profiles.

Does it really matter?

As a vendor you may not need an accurate definition to describe the services you want to sell. There is no punishment for inaccuracy. What if you run an ASP (Application Service Provider), MSP (Managed Service Provider) or ISP (Internet Service Provider) and are worried about getting left in the cold because you don't offer a cloud product or service? Can you still just stick the word "cloud" in your advertising and leave it at that? Well, there is no ticklist, no law against it and I've seen it done many times.

As a customer you may not need an accurate definition to describe the services you want to rent. Does an accurate definition really matter? In the 1990s the phrase "World Wide Web" was often used interchangeably with "Internet". IT snobs like me who knew the difference may have sneered in a superior manner, but the truth is the general public got along just fine - they could successfully communicate their ideas with either phrase. Cloud was used interchangeably with virtualization for a while, and perhaps the difference was really only important to the hands-on technicians and the pedants.

In what contexts have you seen the most dubious definitions of what constitutes the use of the word "cloud?" Do you think the term "cloud" will fade over time?

About

Nick Hardiman builds and maintains the infrastructure required to run Internet services. Nick deals with the lower layers of the Internet - the machines, networks, operating systems, and applications. Nick's job stops there, and he hands over to the ...

6 comments
Nick Hardiman
Nick Hardiman

So who thinks the cost savings, one of the big reasons cloud computing seemed so attractive in the first place, don't exist?

jnativ47
jnativ47

Appengine definitely does meet the characteristics of NIST. All of them, including elasticity and measured service. Reliability - I've never experienced a local server/s better than appengine. Scaleability is achieved by statistics - more independent applications on large infrastructure, same rules as any statistical service model. In-house: in the first place looks like the obvious solution, but the business must maintain power back up, remote backup and all those issues related to business continuity, and by the end of the day it's a nightmare for all the remote users. On the cloud, each user is remote and business continuity is assured. My conclusion is that if you are not IT oriented company, MYOB (mind your own business) and move to the cloud.

robo_dev
robo_dev

And the whole 'private cloud' concept is all about 'buy vs build'. Ten years ago there were a handful of legitimate SaaS or IaaS (Infrastructure) offerings, but that's very different today. The cost savings are not there for many companies because they already have built the infrastructure, so why hand the keys to an unknown cloud entity. The whole 'marketing spin' of Cloud is the virtualization angle..... in-house IT systems are all going, and many are all based on VMware and similar technologies, and hardware gets cheaper by the minute. So the CIOs and CEOs who are excited about the ability to scale and shift resources in a virtual environment have not been paying attention to their own IT systems!

mdwalls
mdwalls

I too am skeptical about all the hype about savings by moving to the cloud. I can see certain business situations where the architecture makes sense, such as covering a major fluctuation in demand such as a retailer might experience around Xmas. But my biggest concern with "the cloud", public or private, is the near universal dependency on Internet access. Accessing mission-critical computing resources across the Internet is a glaring point of potential failure. Granted, a cable-only network connection within the office can also fail, but I have better control over its stability and recovery. I can also dedicate redundant cable runs etc. for greater reliability.

Charles Bundy
Charles Bundy

How on earth do corporate interests square the [i][b]shared systems[/b] cost reductions[/i] with [i][b]intellectual property, confidentiality[/b][/i] and [i][b]control of access[/b][/i]? [i]Gasp[/i], it's technological socialism!

dcolbert
dcolbert

Hidden behind the idea of being able to instantly spin up virtual machines in the cloud and make SaaS hosted solutions available on heterogeneous client platforms is the dirty secret that *someone* has to be paying for the bare-metal those pooled virtual resources share. I can only give your machine more memory or more procs or more *machines* on the fly because I have that capacity in reserve in the DC where my cloud resides. Clouds are vapor, but cloud environments reside on physical environments. That is why a PRIVATE cloud loses many of the benefits of a real cloud. Now I've got all the headaches of a cloud (and there are some major liabilities), and I've still got the real hardware costs on my end. I can only spin up a new server quickly for the accounting department because I have extra capacity just sitting there in my DC. It is smoke-and-mirrors. CIOs like it because instead of asking for redundant physical machines that seem like a cost center because they're just sitting there, now he can say, "We need these racks and these SANs and these switches and all this cabling to be able to scale our capacity in real time". But you're still buying more equipment than you need and leaving it in reserve as it rapidly depreciates. And the scaling out and scaling back on the fly... sure. When you're done with a machine you can spin it down and stop paying the TCO costs associated with having it live. Licensing, maintenance, even the real electricity and cooling it takes to have that virtual machine running. But you still have that hardware sitting there. This seems to be the biggest slight-of-hand that cloud proponents are pushing... I'm still fixated on a private cloud, of course. In a public cloud, sure... I'm using 10 machines and paying a metered rate... when I drop down to 8, I'm saving money. But the hosting location is building that capacity overhead into the metered cost. *I'm* paying for it, and they're making money in the bargain, or they wouldn't be doing it. It isn't clear to me that over the lifetime that I'll save money moving to the cloud. It might just be cheaper for me to keep it in-house than pay monthly metered usage fees that have profit enough to include all the costs I would have to pay *anyhow*. No? When I think about the pitches about what the cloud is, how it works, and why it makes sense, I frequently feel like someone is trying to pull a Jedi mind trick on me. The logic doesn't make sense. I'm just shifting my cost center somewhere else. The pitch that it is so easy to scale ignores the fact that there have to be REAL resources beneath the virtualized cloud environment. If I've got a machine with 32GB of RAM and you've got two VMs running on it using 16GB each and you add another machine that needs 16GB... that (generally) isn't going to happen. I know there are other ways that we can roll those VMs around transparently in a way we couldn't with bare metal to get you to a place where we can do this non-disruptively... but I've still got to have those resources somewhere to scale - which means they were just sitting there doing *nothing* before your need arose. The cloud claims it can make something out of nothing - but it can't. Great article - though. You covered a lot of ground that has a lot of people confused, here.