by Chris Woodford. Last updated: August 13, 2016.
History has a funny way of repeating itself, or so they say.
But it may come as some surprise to find this old cliché applies just as much to
the history of computers as to wars, revolutions, and kings and queens. For the
last three decades, one trend in computing has been loud and clear:
big, centralized, mainframe systems have been "out";
personalized, power-to-the-people, do-it-yourself PCs have been "in."
Before personal computers took off in the early 1980s, if your
company needed sales or payroll figures calculating in a hurry, you'd
most likely have bought in "data-processing" services
from another company, with its own expensive computer systems, that
specialized in number crunching; these days, you can do the job
just as easily on your desktop with off-the-shelf software. Or can
you? In a striking throwback to the 1970s, many companies are
finding, once again, that buying in computer services makes more
business sense than do-it-yourself. This new trend is called cloud
computing and, not surprisingly, it's linked to the Internet's
inexorable rise. What is cloud computing? How does it work? Let's
take a closer look!
Photo: Cloud computing: the hardware, software, and applications
you're using may be anywhere up in the "cloud." As long as it all does what you want, you don't need
to worry where it is or how it works. Composite photo by Explainthatstuff.com based on a picture of an IBM Blue Gene/P
supercomputer, by courtesy of Argonne National Laboratory, published under a Creative Commons Licence, and clouds photographed somewhere over Dorset, England, in 2011.
What is cloud computing?
Cloud computing means that instead of all the computer
hardware and software you're using sitting on your desktop, or somewhere inside your company's network, it's
provided for you as a service by another company and accessed
over the Internet, usually in a completely seamless way. Exactly
where the hardware and software is located and how it all works
doesn't matter to you, the user—it's just somewhere up in the
nebulous "cloud" that the Internet represents.
Cloud computing is a buzzword that means different things to different people. For some, it's just
another way of describing IT (information technology) "outsourcing";
others use it to mean any computing service provided over the
Internet or a similar network; and some define it as any bought-in computer
service you use that sits outside your firewall. However we
define cloud computing, there's no doubt it makes most sense when we
stop talking about abstract definitions and look at some simple, real
examples—so let's do just that.
Simple examples of cloud computing
Most of us use cloud computing all day long without realizing it. When you sit at
your PC and type a query into Google, the computer on your desk isn't
playing much part in finding the answers you need: it's no more than
a messenger. The words you type are swiftly shuttled over the Net to
one of Google's hundreds of thousands of clustered PCs, which dig out your results and send them promptly back to you. When you do a Google
search, the real work in finding your answers might be done by a
computer sitting in California, Dublin, Tokyo, or Beijing;
you don't know—and most likely you don't care!
The same applies to Web-based email. Once upon a time, email was something you
could only send and receive using a program running on your PC (sometimes called a mail client). But then
Web-based services such as Hotmail came along and carried email off
into the cloud. Now we're all used to the idea that emails can be
stored and processed through a server in some remote part of the world, easily
accessible from a Web browser, wherever we happen to be. Pushing email off into
the cloud makes it supremely convenient for busy people, constantly on the move.
Preparing documents over the Net is a newer example of cloud computing. Simply log on to
a web-based service such as Google Documents and you can
create a document, spreadsheet, presentation, or whatever you like using
Web-based software. Instead of typing your words into a program like Microsoft Word or
OpenOffice, running on your computer, you're using similar software running on
a PC at one of Google's world-wide data centers. Like an email drafted on Hotmail,
the document you produce is stored remotely, on a Web server, so you can access it from any
Internet-connected computer, anywhere in the world, any time you like. Do you know
where it's stored? No! Do you care where it's stored? Again, no! Using a Web-based
service like this means you're "contracting out" or "outsourcing"
some of your computing needs to a company such as Google: they pay the cost of
developing the software and keeping it up-to-date and they earn back
the money to do this through advertising and other paid-for services.
Screenshot: Soundcloud—one of my favorite examples of a website (and mobile app) that uses cloud computing to good effect. Musicians and DJs upload their music, which "followers" can listen to (or preview) for free through real-time streaming. You can build up a personal collection of tracks you like and access them from any device, anytime, anywhere. The music you listen to stays up in the cloud: in theory, there is only ever one copy of every music file that's uploaded. Where is the music stored? No-one but Soundcloud needs to know—or care.
What makes cloud computing different?
"You don't generate your own electricity. Why generate your own computing?"
Jeff Bezos, Amazon.
Most importantly, the service you use is provided by someone else and
managed on your behalf. If you're using Google Documents, you don't
have to worry about buying umpteen licenses for word-processing
software or keeping them up-to-date. Nor do you have to worry
about viruses that might affect your computer or about backing up the
files you create. Google does all that for you.
One basic principle of cloud computing is that you no longer need to worry how the service
you're buying is provided: with Web-based services, you simply concentrate on whatever
your job is and leave the problem of providing dependable
computing to someone else.
Cloud services are available on-demand and often bought on a "pay-as-you go" or
subscription basis. So you typically buy cloud computing the same way
you'd buy electricity, telephone services, or Internet access from a
utility company. Sometimes cloud computing is free or paid-for in
other ways (Hotmail is subsidized by advertising, for example).
Just like electricity, you can buy as much or as little of a cloud computing service as you need from
one day to the next. That's great if your needs vary unpredictably:
it means you don't have to buy your own gigantic computer
system and risk have it sitting there doing nothing.
It's public or private
Now we all have PCs on our desks, we're used to having complete control over
our computer systems—and complete responsibility for them as well. Cloud computing changes all that. It comes in two basic flavors, public and private, which are the cloud equivalents of the Internet and Intranets. Web-based email and free services like the ones Google provides are the most familiar examples
of public clouds. The world's biggest online retailer, Amazon, became
the world's largest provider of public cloud computing in early 2006. When
it found it was using only a fraction of its huge, global, computing power, it started
renting out its spare capacity over the Net
through a new entity called Amazon Web Services.
Private cloud computing works in much the same way but you access the resources you use
through secure network connections, much like an Intranet. Companies such as Amazon also
let you use their publicly accessible cloud to make your own secure private cloud,
known as a Virtual Private Cloud (VPC), using virtual private network (VPN) connections.
Types of cloud computing
IT people talk about three different kinds of cloud computing, where different
services are being provided for you. Note that there's a certain amount of vagueness
about how these things are defined and some overlap between them.
- Infrastructure as a Service (IaaS) means you're buying access to raw computing
hardware over the Net, such as servers or storage. Since you buy what you need and pay-as-you-go, this is often referred to as utility computing. Ordinary web hosting is a simple example of IaaS: you pay a monthly subscription or a per-megabyte/gigabyte fee to have a hosting company serve up files for your website from their servers.
- Software as a Service (SaaS) means you use a complete application running on
someone else's system. Web-based email and Google Documents are perhaps the best-known examples. Zoho
is another well-known SaaS provider offering a variety of office applications online.
- Platform as a Service (PaaS) means you develop applications using Web-based tools so they run on systems software and hardware provided by another company. So, for example, you might develop your own ecommerce website but have the whole thing, including the shopping cart, checkout, and payment mechanism running on a merchant's
server. App Cloud (from salesforce.com) and the Google App Engine are examples of PaaS.
Advantages and disadvantages of cloud computing
What's good and bad about cloud computing?
The pros of cloud computing are obvious and compelling. If your business is selling
books or repairing shoes, why get involved in the nitty gritty of
buying and maintaining a complex computer system? If you run an
insurance office, do you really want your sales agents wasting time
running anti-virus software, upgrading word-processors, or worrying
about hard-drive crashes? Do you really want them cluttering your
expensive computers with their personal emails, illegally shared MP3 files,
and naughty YouTube videos—when you could leave that responsibility
to someone else? Cloud computing allows you to buy in only the
services you want, when you want them, cutting the upfront capital costs of
computers and peripherals. You avoid equipment going out of date and
other familiar IT problems like ensuring system security and reliability.
You can add extra services (or take them away) at a moment's notice as your business needs change.
It's really quick and easy to add new applications or services to your
business without waiting weeks or months for the new computer (and
its software) to arrive.
Instant convenience comes at a price. Instead of purchasing computers and software, cloud
computing means you buy services, so one-off, upfront capital
costs become ongoing operating costs instead. That might work out
much more expensive in the long-term.
If you're using software as a service (for example, writing a report using an online word processor or sending emails
through webmail), you need a reliable, high-speed, broadband Internet connection
functioning the whole time you're working. That's something we take for granted in countries such as the United States, but it's much more of an issue in developing countries or rural areas where broadband is unavailable.
If you're buying in services, you can buy only what people are providing, so you may be restricted
to off-the-peg solutions rather than ones that precisely meet your needs.
Not only that, but you're completely at the mercy of your suppliers if they suddenly
decide to stop supporting a product you've come to depend on.
(Google, for example, upset many users when it announced in September 2012 that its cloud-based Google Docs would drop support for old
but de facto standard Microsoft Office file formats such as .DOC, .XLS, and .PPT, giving a mere one week's notice
of the change—although, after public pressure, it later extended the deadline
by three months.) Critics charge that cloud-computing is a return to the bad-old days of mainframes and
proprietary systems, where businesses are locked into unsuitable, long-term
arrangements with big, inflexible companies. Instead of using
"generative" systems (ones that can be added to and extended in exciting ways
the developers never envisaged), you're effectively using "dumb terminals" whose uses are severely
limited by the supplier. Good for convenience and security, perhaps, but what
will you lose in flexibility? And is such a restrained approach good for the future
of the Internet as a whole? (To see why it may not be, take a look at Jonathan Zittrain's eloquent book
The Future of the Internet—And How to Stop It.)
Think of cloud computing as renting a fully serviced flat instead of buying a home of your
own. Clearly there are advantages in terms of convenience, but
there are huge restrictions on how you can live and what you can alter. Will
it automatically work out better and cheaper for you in the long term?
Photos: Cloud computing: forward to the future... or back to the past? In the 1970s, the Apple ][ became the world's first, bestselling small business computer thanks to a killer-application called VisiCalc, the first widely available computer spreadsheet. It revolutionized business computing, giving middle managers the power to crunch business data on their desktops, all by themselves, without relying on slow, centralized computer departments or bought-in data processing. Critics are concerned that cloud computing could be disempowering—a throwback to the 1970s world of centralized, proprietary computing.
Cloud computing trends
We've just had a quick and simple sketch of cloud computing—and if that's all
you need, you can stop reading now. This section fills in some of the details, asks some deeper questions,
looks at current trends, such as the shift to mobile devices, and explores challenging issues like privacy and security.
The figures speak for themselves: in every IT
survey, news report, and pundit's op-ed, cloud computing seems the
only show in town. Back in 2008, almost a decade ago, the Pew
Internet project reported that 69 percent of all Internet users had
"either stored data online or used a web-based software
application" (in other words, by their definition, used some form
of cloud computing). In 2009, Gartner priced the value of cloud
computing at $58.6 billion, in 2010 at $68.3 billion, and in 2012 at
over $102 billion. In 2013, management consultants McKinsey and
Company forecast cloud computing (and related trends like big data,
growing mobilization, and the Internet of Things) could have a
"collective economic impact" of between $10–20 trillion by 2025.
A matter of definitions
So the numbers keep on creeping up and it's an
exciting trend, to be sure. But there's one important word of
caution: how you measure and forecast something as vague as "the
cloud" depends on how you define it: if the definition keeps
expanding, perhaps that's one reason why the market keeps expanding
too? Way back in the 1990s, no-one described Yahoo! Mail or Hotmail
as examples of cloud computing, Geocities was simply a community of
amateur websites, and Amazon and eBay were just new ways of finding
and buying old stuff. In 2010, in its breathless eagerness to talk up
cloud computing, the Pew Internet project had rounded up every
web-based service and application it could think of and fired it to
the sky. Wordpress and Twitter were examples of cloud blogging,
Google Docs and Gmail were cloud-based, and suddenly so too were
Yahoo! Mail, buying things from eBay and Amazon, and even (bizarrely)
RSS feeds (which date back to the late 1990s). Using "the cloud"
as a loose synonym for "the Web," then expressing astonishment
that it's growing so fast seems tautologous at best, since we know
the Internet and Web have grown simply by virtue of having more
connected users and more (especially more mobile) devices. According
to Pew, what these users prized were things like easy access to
services from absolutely anywhere and simple data storing or sharing.
This is a circular argument as well: one reason we like "the cloud"
is because we've defined it as a bunch of likeable websites—Facebook,
Twitter, Gmail, and all the rest.
Businesses have shrewder and more interesting
reasons for liking the cloud. Instead of depending on Microsoft
Office, to give one very concrete example, they can use free,
cloud-based open-source alternatives such as Google Docs. So there
are obvious cost and practical advantages: you don't have to worry
about expensive software licenses or security updates, and your staff
can simply and securely share documents across business locations
(and work on them just as easily from home). Using cloud computing to
run applications has a similarly compelling business case: you can
buy in as much (or little) computing resource as you need at any
given moment, so there's no problem of having to fund expensive
infrastructure upfront. If you run something like an ecommerce
website on cloud hosting, you can scale it up or down for the holiday
season or the sales, just as you need to. Best of all, you don't need
a geeky IT department because—beyond commodity computers running
open-source web browsers—you don't need IT.
Spot the difference
When we say cloud computing is growing, do we simply mean
that more people (and more businesses) are using
the Web (and using it to do more) than they used to? Actually we do—and that's why it's
important not to be too loose with our definitions. Cloud web hosting
is much more sophisticated than ordinary web-hosting, for example,
even though—from the viewpoint of the webmaster and the person
accessing a website—both work in almost exactly the same way. This
web page is coming to you courtesy of cloud hosting where, a decade
ago, it ran on a simple, standalone server. It's running on the same
open-source Apache server software that it used then and you can
access it in exactly the same way (with http and html). The
difference is that it can cope with a suddenly spike in traffic in
the way it couldn't back then: if everyone in the United States
accessed this web page at the same time, the grid of servers hosting
it would simply scale and manage the demand intelligently. The photos
and graphics on the page (and some of the other technical stuff that
happens behind the scenes) are served from a cloud-based Content
Delivery Network (CDN): each file comes from a server in Washington, DC, Singapore,
London, or Mumbai, or a bunch of other "edge locations," depending on where in the world you
(the browser) happen to be.
This example illustrates three key points of
difference between cloud-based services and applications and similar
ones accessed over the web. One is the concept of elasticity
(which is a similar idea to scalability):
a cloud service or application isn't limited to what a particular
server can cope with; it can automatically expand or contract its
capacity as needed. Another is the dynamic nature of cloud
services: they're not provided from a single, static server. A third,
related idea is that cloud services are seamless—whether
you're a developer or an end user, everything looks the same,
however, wherever, and with whatever device you use it.
Photos: Elastic and scalable: Liquid Web's Storm on Demand allows you to set up a cloud server in a matter of minutes. With a couple of mouse clicks, you can resize your server (upgrade or downgrade the memory, for example)
to cope with changes in demand—for example, in the run up to a Black Friday sale. Every aspect of the service is pay-as-you-go. It's easy to use even if you have little or no experience of setting up or managing dedicated servers.
We look at this in more detail in our article on cloud hosting.
One of the biggest single drivers of cloud
computing is the huge shift away from desktop computers to mobile
devices, which (historically, at least) had much less processing
power onboard. Web-connected smartphones, tablets, Kindles, and other
mobile devices are examples of what used to be called "thin
clients" or "network computers" because they rely on the
servers they're connected to, via the network (usually the Internet),
to do most of the work. A related trend referred to as bring your
own device (BYOD) reflects the way that many companies now allow
their employees to logon to corporate networks or websites using
their own laptops, tablets, and smartphones.
From the smartphone in your pocket to the mythical
fridge that orders your milk, the number and range of devices
connected to the Internet is increasing all the time. A new trend
called the Internet of Things
anticipates a massive increase in
connected devices as everyday objects and things with built-in
sensors (home heating controllers, home security webcams, and even
parcels in transit) get their own IP addresses and become capable of
sending and receiving data to anything or anyone else that's online.
That will fuel the demand for cloud computing even more.
Photo: Mobile cloud: The shift to mobile devices and the growth of cloud computing are mutually reinforcing trends. Mobile devices are much more useful thanks to cloud-based apps like these, provided by Google.
In other words, one reason for buying a mobile is because of the extra (cloud-based) things you can do with it. But these services are also thriving because they have ever-increasing numbers of users, many of them on smartphones.
How significant is the shift to mobile? By any
measurement, phenomenal and dramatic. Bearing in mind that there was
only one functioning mobile phone in 1973 when Martin Cooper made the
first cellphone call, it's staggering to find that there are now an
estimated 8 billion mobile subscriptions (more than one for every
person on the planet). By 2012, Goldman Sachs was telling us that 66
percent of Net-connected devices were mobiles, compared to just 29
percent desktops. Mobile Internet traffic finally overtook desktop
traffic in 2014/15, according to Comscore and, in response, Google
rolled out a "mobile-friendly" algorithm in 2015 to encourage
webmasters to optimize their sites so they worked equally well on
Cloud computing makes it possible for cellphones
to be smartphones and for tablets to do the sorts of things that we
used to do on desktops, but it also encourages us to do more things
with those devices—and so on, in a virtuous circle. For example, if
you buy a smartphone, you don't simply do things on your phone that
you used to do on your PC: you spend more time online overall, using
apps and services that you previously wouldn't have used at all.
Cloud computing made mobile devices feasible, so people bought them
in large numbers, driving the development of more mobile apps and
better mobile devices, and so on.
More types of cloud
Stare high to the sky and you can watch clouds
drift by or, if you're more scientific and nuanced, start to tease
out the differences between cumulus, cirrus, and stratus. In much the
same way, computing aficionados draw a distinction between different
types of cloud. Public clouds are provided by people such as
Amazon, Google, and IBM: in theory, all users share space and time on
the same cloud and access it the same way. Many companies, for
example, use Gmail to power their Internet mail and share documents
using Google Drive—in pretty much the same way that you or I might
do so as individuals. Private clouds work technically the same
way but service a single company and are either managed exclusively
by that company or by one of the big cloud providers on their behalf.
They're fully integrated with the company's existing networks,
Intranet, databases, and infrastructure, and span countries or
continents in much the same way. Increasingly, companies find neither
of these bald alternatives quite fits the bill—they need elements
of each—so they opt for hybrid clouds that combine the best
of both worlds, hooking up their existing IT infrastructure to a
public cloud system provided by someone like Amazon or Google. Other
trends to watch include the development of personal clouds,
where you configure your own home network to work like a mini-cloud
(so, for example, all your mobile devices can store and access files
seamlessly), and peer-to-peer cloud computing, in which the
dynamic, scalable power of a cloud computing system is provided not
by giant data centers but by many individual, geographically
dispersed computers arriving on the network, temporarily contributing
to it, and then leaving again (as already happens with collaborative
science projects like SETI@home and ClimatePrediction.net).
Security has always been an obvious concern for
people who use cloud computing: if your data is remote and traveling
back and forth over the Internet, what's to keep it safe? Perhaps
surprisingly, many IT professionals think cloud-based systems are
actually more secure than conventional ones. If
you're buying into Google's, Amazon's, or Microsoft's cloud-based services, you're also buying
into world-class expertise at keeping data safe; could you—or your IT
team—manage security as well? Security can therefore be seen as a
compelling reason to migrate to cloud-based systems rather than a
reason to avoid them.
Privacy is a more nuanced and complex issue. While
we all understand what we mean by keeping data secure, what do we
mean by keeping it private in a world where users of cloud-based
services like Twitter, Instagram, and Snapchat happily share anything
and everything online? One of the complications is so-called big
data, the statistical ("analytic") information that companies
like Google and Facebook gather about the way we use their
cloud-based services (and other websites that use those services).
Google, for example, collects huge amounts of data through its
advertising platforms and no-one knows exactly what happens to it
afterward. Facebook knows an enormous amount about what people say
they "like," which means it can compile detailed profiles of all
its users. And Twitter knows what you tweet, retweet, and favorite—so
it has similar data to Facebook. The quid-pro-quo for "free"
web-based services and apps is that you pay for what you use with a
loss of privacy, typically to power targeted advertisements.
Another complication is that privacy means
different things in different parts of the world. In Europe, for
example, the European Union has strict restrictions on how data can
be moved in bulk from one country to another or shared by companies
like Google that have multiple subsidiaries operating across countries and
continents. While Internet-based cloud computing makes national
boundaries obsolete, real-world laws still operate according to
old-fashioned geography—and that could act as a serious brake on
the aspirations of many big cloud providers.
No such thing as a free cloud?
When it comes to the everyday web services we all
enjoy, there may be different kinds of clouds on the horizon. As
web-based advertising dwindles in effectiveness, one future concern
must be how companies like Google, Facebook, and Twitter will
continue to fund their ever-growing, (essentially) cloud-based,
services without using our data in increasingly dubious ways. Part of
the reason for the huge growth in popularity of services like this is
simply that they're free. Would Facebook be so popular if we had to
pay for it through a monthly subscription? If Google Docs cost money,
would we slink back to our desktop PCs and Microsoft Word? Can
advertising continue to sustain an ever-growing field of cloud-based
services and apps as the number of Internet users and Net-connected
devices continues to grow? Watch this space!
Is cloud computing really better for the environment?
In theory, cloud computing is environmentally friendly because it uses fewer resources
(servers, cooling systems, and all the rest) and less energy if 10 people share an
efficiently run, centralized, cloud-based system than if each of them run their own
inefficient local system. One hosting provider in the UK told me that his company has
embraced cloud systems because it means they can handle more customers on far fewer
physical servers, with big savings in equipment, maintenance, and energy costs.
In theory, cloud computing should be a big win for the environment; in practice,
it's not quite so simple.
Ironically, given the way we've defined cloud computing, it matters where your cloud servers
are located and how they're powered. If they're in data centers powered by coal, instead of cleaner fuels such as natural gas or (better still) renewable energy, the overall environmental impact could be worse than your current setup. There's been a lot of debate about the energy use of huge data centers, partly thanks to Greenpeace highlighting the issue. In its 2011 report
How Dirty is Your Data Center: A Look at the Energy Choices that Power Cloud Computing, Greenpeace ranked cloud computing providers like Akamai and Amazon on eco-friendliness, alongside companies like Facebook, Google, and Twitter whose services are underpinned by a massive global network of data centers. In the United States in particular, quite a few cloud (and web hosting) providers explicitly state whether their servers are powered by conventional or green energy, and it's relatively easy to find carbon-neutral service providers if that's an important factor for your business and its CSR (corporate social responsibility) objectives.
When it comes to overall impact on the planet, there's another issue to consider. If cloud services simply move things you would do in your own office or home to the cloud, that's one thing; the environmental impact merely transfers elsewhere. But a lot of cloud- and Internet-based services are encouraging us to use more computers and gadgets like iPads and iPhones for longer, spending more time online, and doing more things that we didn't previously do at all. In that sense, cloud computing is helping to increase global energy use and greenhouse gas emissions —so describing it as environmentally friendly is highly misleading.
That was evident from a 2012 study by DatacenterDynamics (DCD) Intelligence, the British Computer Society, and partners
(reported in Computer Weekly), which showed that global energy use from data centers grew from 12 gigawatts (GW) in 2007 to 24GW in 2011 and predicted it would reach 43GW some time in 2013. However, a follow-up study revealed a significant slowing down of the rate of growth in cloud power consumption, from 19 percent in 2011/2 to around 7 percent in 2013. Growing concerns about the impact of cloud computing have also prompted imaginative new solutions.
Later in 2013, for example, researchers at Trinity College Dublin and IBM announced they'd found a way to reduce cloud emissions by over 20 percent by using smart load balancing algorithms to spread out data processing between different
data centers. Even so, with cloud computing predicted to become a $5 trillion business by 2020, power consumption
seems certain to go on increasing. Ultimately, the global environment, the bottomline trend—ever-increasing energy consumption—is the one that matters. It's no good congratulating yourself on switching to diet Cola if you're drinking four times more of it than you used to. In 2016, Peter Judge of DatacenterDynamics summed things up pithily:
"No one talks much about total energy used by data centers because the figures you get for that are annoying, depressing and frustrating.... The truth is: data center power is out of control."
From Google searches to Facebook updates and super-convenient Hotmail, most of us value the benefits of cloud computing very highly, so the energy consumption of data centers is bound to increase—and ensuring those big, power-hungry servers are fueled by green energy will become increasingly important in the years to come.
Chart: Growth in energy use in data centers from 2007 to 2013. Drawn by us using data from the 2012 study by DatacenterDynamics (DCD) Intelligence published in Computer Weekly, October 8, 2012. I've struggled to find figures for the years from 2014 onward; as soon as I do, I'll update the chart!