Cloud Computing

Everything Old is New Again

The term “cloud computing” is a relatively recent buzzword for a new type of computing. Thanks to the Internet, Wi-Fi, and other modern networking technologies, individual users can “offload” much of their computational and data storage efforts onto remotely hosted servers and online services. This has helped to make smaller, more portable computing devices like laptops, tablets, and phones more practical because the device itself does not need to do all of the work. Instead, the heavy lifting can be handed off to “the cloud.”

Believe it or not, this is not a new idea in computing. In fact, decades earlier, long before the availability of public or private Internet access, most computers were the size of entire buildings. While the actual devices that people used might have looked like today’s desktop computers, they were actually just simple interfaces, so-called “dumb terminals” or “thin clients,” that connected remotely to the actual computer or server located elsewhere, much like our phones and tablets connect remotely to web services.

Of course, yesterday’s “dumb terminals” have since given way to today’s “smart phones,” which have far more computing power in their own right. But the increasing use of and reliance upon “the cloud” for remote computing show that recent and incredible advances in technology have not strayed far from their predecessors.

Client-Server Model

Like with the “dumb terminals” of the past, today’s cloud computing is built upon the “client-server model.” That is, the networking process can be described according to the interactions of two remotely located computers (or more accurately, programs running on those computers)—namely, the “client” and the “server.”

The client stands at one end of the communication process and typically represents the end-user. At the other end of the process is the server, a centralized computer that all individual end users connect to. In other words, the server serves the needs of its clients (i.e., users).

The analogy is that of a waiter at a restaurant. The as the waiter (i.e., server) waits on the customers (i.e., clients, each individual customer makes requests about which particular food items or beverages they want. The waiter then goes back into the kitchen while the cooks (i.e., processor, or CPU) gather the raw ingredients (i.e., data) from storage (i.e., database) and prepares the meal. When it is ready, the waiter returns to the customer and serves the meal as they requested.

In computing, this process of a client initiating a request or transmitting data to a remote server, which then processes the request or data and returns the appropriate response is the basic functionality of all Internet-based communication. When you surf the Web, your web browser is the client. The website you visit is essentially data hosted (stored and served) on a remote web server.

All of Your Data Wherever You Go

One of the key advantages that cloud computing offers is portability. The fact that your data can be accessed from anywhere in the world has had a profound influence on how people work and live. With cloud computing, it is no longer necessary to carry your data around with you when you can just download or stream it from a remote server. This has freed us from our desks and allowed people to create entirely new behaviors and use-cases that were previously impossible or prohibitively expensive before cloud computing.

In the early days of PCs, your data was trapped in a large box sitting on a person’s desk at home or in their office. Data that was on their computer at home could not be easily taken to work. Data that they used at work could not be brought home. Any data that needed to be transported from one location to another had to be copied onto physical disks that were slow and had relatively little capacity.

With cloud computing, users can now access their data from anywhere—home, school, work, airports, coffee shops, etc. And since wireless transmissions free us of the need for physical media, we can now use phones, tablets, and other devices that lack physical ports to access this cloud data as well.

Of course, one of the trade-offs of storing your data remotely is the additional costs of transmitting your data to and from the cloud—both in terms of time and bandwidth.

Off-Site Storage

Another benefit of cloud-based systems is their use as off-site storage for your data. Anyone who has ever used a computer either has or will experience the loss of data at some point. Accidents happen. Hardware fails. Your data is important, but there is no way to ensure that it will remain 100% safe, intact, and uncorrupted. While it is good practice to maintain regular backups of your files, photos, and other digital information, a good rule of thumb is the “3-2-1 Rule":

3) Have at least three copies of your data.

2) Store the copies on two different media.

1) Keep one backup copy off-site.

The first two items deal with redundancy and maintaining multiple copies of your files, but the last item avoids the issue of creating a “single point of failure.” It does no good to have multiple backups of your files if they are all kept in the same location. A single disaster, like a fire, flood, or earthquake that destroys your house will destroy your files and your backups at the same time.

Cloud storage helps to solve that problem by allowing users to keep a separate copy of their data safely stored at a remote location.