Even though computers were supposed to make our lives easier, the underlying technology has only become more complex with time. Long gone are the days of entering information solely with a keyboard, storing it on a diskette, and plugging that into a primitive computer — in many ways just a fancy calculator. Nowadays we have information input through keyboards, mice, trackballs, touch sensitive displays, and audio headsets. Microprocessor speeds have reached levels that would have been unimaginable decades ago. Data storage capabilities and requirements have exploded, with the amount of data that would have filled a stack of diskettes now portable on a thumb drive attached to a key chain. Home networks and Internet connectivity have transformed not just computing itself, but our modern culture.
Given this enormous increase in complexity, and the way that it can be overwhelming at times — especially for people who grew up in the era prior to computers — it is important to step back every once in awhile, and remind ourselves that all of these amazing devices, technologies, and computational capabilities, still boil down to a few essential elements: data input, storage, computation, and transfer. The more that we can hide the complexity from everyday users, without compromising its reliability or our control over it, the easier it will be for the masses to make the most of what the computer world has to offer.
That is what cloud computing is all about. Prior to widespread access to the Internet, in the 1980s and early 1990s, all data storage and processing were done on the "desktop", i.e., a PC at home, not connected to any external network. Consequently, for people using their personal computers for anything other than playing Solitaire, they basically had to be their own technical support staffs (unless they paid a computer shop to do the work, or somehow shanghaied a friend or relative into doing it). They had to figure out how to set up a new computer out of the box, connect a printer and get it working, install an operating system if needed, troubleshoot device driver problems, etc. Once all the hardware was set up, they had to install the computer programs they wanted to use, and configure those applications to work properly.
Internet connectivity initially complicated matters even further, with software vendors and Internet service providers (ISPs) expecting non-technical people — who years earlier had given up even trying to set the time on their VCRs — to now configure their email clients with the proper mail and SMTP settings. But by connecting someone's PC to millions of computers worldwide, via the Internet, it is now possible to simplify matters considerably — at least for the average computer user, not the technical people who make the magic happen.
Hidden in the Clouds
Imagine a diagram showing your computer connected, by a line, to a group of disk drives — usually referred to as RAID, for "redundant array of independent disks" — backing up multiple copies of your important files. Do you know how to install, configure, and manage a RAID network drive? If not, you probably would prefer a diagram in which your computer is connected to a billowy cloud, whose exact contents you do not know and do not worry about. All you know is that the cloud is providing all of the redundant data storage that you need. The same is true for any processing capabilities that have been moved up into the cloud.
This is the origin of the term "cloud computing", even though someone may at first think that it is referring to pie-in-the-sky technology. Technically speaking, the cloud is any external computational resources that your PC can access and utilize. But most people do not have their PCs connected directly to office networks or others; in almost all cases, the external network is the Internet. Returning to our hard drive example, if you were to sign up for one of the many Web-based data storage services, and you were to use that as your data backup, instead of a RAID network drive, then you would be leveraging the power of the cloud. You probably would not know or even care where those third-party servers are located, or how they themselves are backed up, or who monitors their health. All you care about is that your data is there when you need it.
An illustrative example of cloud computing is Amazon Web Services (AWS), which comprises a set of products grouped into five categories: infrastructure services, payments and billing, on-demand workforce, Web search and information, Amazon fulfillment and associates. Due to space limitations, I will only touch upon two of those products, both of which are in the infrastructure category: Amazon Elastic Compute Cloud (EC2) is a Web service that offers flexible computational power, so a business can avoid the risk and expense of purchasing many servers that they may no longer need at some point in the future. Instead, the company can simply lease server capacity from Amazon, and then scale their usage up or down, depending upon changing business requirements. Amazon Simple Storage Service (S3) is the data storage equivalent of EC2.
Thunderstorm or Silver Lining?
Many industry pundits are hailing cloud computing as the next great revolution in information technology and management. They point to the clear advantages provided to organizations, which can thus lease computational and data storage capacity from Web-based providers, thereby reducing their capital investments in equipment and software that can rapidly depreciate and consume even more time and money required for continual upkeep.
On the other hand, critics of cloud computing point out that relying upon third-party vendors for mission-critical processing and data storage, places one's organization at great risk, should those providers fail, even just temporarily. The horror stories of such failures continue to mount. In August 2008, The Linkup, an online storage service, lost as much as 45 percent of its customers' data, prompting the service to close its doors. One can only speculate as to the impact this has had upon individuals and businesses that were counting on that service.
Defenders of cloud computing might argue that anyone would be foolish to rely completely on any external provider, and one should always have internal backups. But if one has to rely upon one's own backups, what is the point of paying someone else to do the same — especially if they are less reliable? Those defenders might counter that The Linkup was a relatively small outfit, and thus not representative of this entire sector. But even the biggest names are not immune to serious problems. On 20 July 2008, the mighty Amazon S3 suffered eight hours of downtime, as well as increased error rates, in the United States and Europe. Even worse, that was not the first time, but more like a rerun of the nightmare that occurred on 15 February of the same year, when the service went down for roughly three hours, bringing with it the usability of all the Web applications of other companies that relied upon S3 — including both Twitter and Tumblr, which had graphics files stored on S3.
Privacy and protection of sensitive data are additional significant issues with the cloud strategy. For instance, cloud-based medical records services — such as Google Health and Microsoft HealthVault — are designed to store massive amounts of personal health information on what is admittedly a public network. The potential benefits to consumers are slim to none, while the risks of security breaches and abuse, are unknown and potentially high. With medical records stored on Web servers, it is simply too easy for someone inside the service organization to break into that data. It is also tempting for any firm possessing that data, to offer it for sale, in one form or another, to marketers, insurance companies, etc. Even unintentional disclosure is possible, and has already occurred. WellPoint, the largest US health insurer, inadvertently released the records of potentially 130,000 customers.
In the final analysis, cloud computing may have great potential, but there seems to be a lot more work that needs to be done in terms of increasing its reliability and security. Do not entrust your personal or corporate data entirely to the cloud, or it all may just evaporate.