As a “software guy,” perhaps the most common technology question I’ve been asked by friends over the past couple of years is: “so, what exactly is this ‘cloud’ stuff anyway?“
While I could provide a very technically-detailed answer that would appease my colleagues, I thought I’d provide a more straightforward answer that a layperson would understand. OK, let me be honest, my explanations will still use some technical jargon, but I can’t help it :-).
To do that, let’s begin with breaking down computing by identifying four types of computing devices. A “device” is a piece of equipment that performs a function. In a computing context, it’s most often powered by electricity (although storage technology doesn’t require constant electrical power); it can be “solid state” (which means it has no moving parts) or “mechanical” (which means it does have one or more parts that actually physically move; e.g., a DVD drive).
The four types of computing devices to consider are:
These are devices with the ability to store information: everything from documents created using applications to audio/video files to lists of contacts. It all needs to be stored somewhere.
2. Processing Devices
These are devices with the ability to process information: everything from mathematical operations on numbers to sorting lists of words to adding a new contact to a list. In many cases, the result of the processing is then also stored.
3. User Interface Devices
These are the most familiar devices to us because they’re made to interact with humans and/or the non-computing world: everything from video screens and speakers to keyboards and mice to temperature sensors and microphones.
4. Network Devices
These are devices that facilitate communication between the first three types of devices or groups thereof. The Internet is nothing more than millions of these network devices that create an intricate network of paths that can carry electronic messages between computers.
Putting It All Together
You might now be wondering, “don’t all modern computers have all four of those devices built in?” And the answer would be an emphatic yes. Modern computers and even mobile phones are very sophisticated devices that are able to bring all four aspects of computing into a single, convenient package. This wasn’t always the case even in my lifetime. You likely remember the days when “floppy drives” were external storage devices and when external modems were used to connect a computer to a remote computer.
Here’s the trick that confuses most people, including those in the industry: “the cloud” isn’t a model for a computer, it’s a model for the applications running on a computer. That is, “the cloud” is a delivery model for software applications.
With the context above you can begin to understand not only the cloud as a software delivery model, but other terms you’ve likely heard:
- Most of the office productivity applications we use on a daily basis such as Microsoft Excel, Apple Pages, and so on are primarily “local;” that is, they leverage local devices for everything: the storage, processing, and user interface are all local and leverage “local” devices on your own computer. That isn’t to say that you can’t leverage your connection to a network to bring a file to your local machine and then work on it “locally.” The point is: all of the heavy lifting is done on your local computer with little to no help from another computer elsewhere.
- Client-server applications were en vogue before “the cloud” became the prominent delivery model for applications. In this model, applications leverage the user interface and processing devices on your local computer (the “client”) but depend on storage devices on a remote “server” computer that is connected via one or more network devices. In short, this delivery model means you’re using your screen and keyboard on your computer along with your computer’s ability to process information. However, your computer isn’t storing the information you’re working with; that information is stored on a “server” computer that is elsewhere.
- We finally get to the point of this post: “the cloud”. In a cloud application, only the user interface devices of the local computer are used; other computers “in the cloud” (i.e., somewhere else that isn’t necessarily of import to us) are responsible for providing the storage devices and processing devices needed to complete the picture. Naturally, the local computer is still connected to “the cloud” via network devices. In even simpler terms, your local computer is only providing you with a “web browser” that provides you a user interface to the application you’re using; everything else that application is doing is actually happening on one or more computers “in the cloud”.
What’s the Big Deal?
A whole lot can be said about the benefits of the cloud as a delivery model for applications, but we’ll keep it simple here: you can access your information as well as manipulate it from any machine that is connected to “the cloud” (i.e., connected to the Internet). The machine you’re using to access the application doesn’t need to be exceedingly powerful (for “processing”) or have lots of storage since that is being handled by other computers in the cloud. In fact, you can use your cell phone, watch, tablet, or just about any modern device that is connected to the Internet and provide seamless, integrated access to the same application. More about the benefits will come in another post.