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 thousandsof 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.
What makes cloud computing different?
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 of 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 Scotland, 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. 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?
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?