Cloud Computing, Google Cloud Computing, and Microsoft Cloud Computing
Cloud Computing, Google Cloud Computing, and Microsoft Cloud Computing
Cloud Computing is:
A) Computing performed by left-brained touchy-feely people.
B) High-technology forecasting simulations performed by local TV Weathermen.
C) The hottest computer industry buzzword since the Y2K panic.
D) Something most of us are already doing, probably without knowing it.
For the purposes of this article we assume definitions 'C' and 'D'. Feel free to compose hubs satisfying 'A' and 'B' at your leisure.
A Little History
Way back in the early days of computing, a physics degree was required simply to be in the same building with the hardware. They hired PhDs to sweep up the place. Mainframe computers cost millions of dollars and required constant tending by uber-intelligent mathematicians and engineers. Computer time actually cost money; users were charged by the amount of time the processor crunched on their numbers.
Back in those times, computers were controlled through dumb terminals. These devices consisted of three things:
- a keyboard,
- a screen, and
- a communication device that sent the keystrokes to the mainframe and displayed the response on the screen.
Note that we didn't mention a processor. That's what made the terminal 'dumb'. Despite the fact that even the simplest dumb terminal consisted of complicated electronics, the thing couldn't execute any programs on its own. You couldn't even play Solitaire on it unless the mainframe ran the program for you.
A lack of processing power notwithstanding, dumb terminals were highly desirable because computer users no longer needed a graduate degree to access the mainframe. They could work from an altogether different building or even another city. They probably couldn't compute from their parents basement just yet, unless they had very rich parents who absolutely doted on them.
These dumb terminals waited for you to press a key, then sent the key directly to the mainframe. When the mainframe responded with information, the terminal echoed it to the screen. More advanced terminals could do a little with color, but most were limited to green characters on a black background. Individual units cost many hundreds to thousands of dollars.
As electronics tend to do, dumb terminals evolved more and more functionality while becoming less and less expensive. Color graphics terminals emerged. The ability to directly connect to a local printer was a huge deal.
As the dumb terminals dropped in cost, computer engineers and entrepreneurs realized that some customers might be interested in having an actual computer built into the case that housed the screen and keyboard. These visionaries recognized that a so-called personal computer would be free from the usage fees and immense overhead costs that accompanied connecting a terminal to a mainframe. Users could configure systems to meet their specific requirements. Freedom would ring.
From there it's been all downhill.
Downhill? Yes. We personal computer users have suffered through viruses, security breaches, local hardware failures, data loss due to poor backup procedures, and numerous other problems concomitant with personal computers. Generally speaking, the mainframe people had solved these problems. Users of dumb terminals didn't worry about contracting a virus if they ran a malicious program. They didn't fret over whether or not their data was redundant. They couldn't play Solitaire while logged in as a system administrator (as most of us do), so the chance of a security breach was greatly reduced.
Fast Forward to the Present
Today we all have mega-powerful multi-core processors in our personal computers. We can play multiple games of Solitaire against faceless opponents around the globe. We have terabytes of hard drive storage sequestered semi-securely in the little tower under the desk. 99.9% of our systems are nowhere near the redundancy and reliability of a mainframe configuration, but we brought everything home for under $399, so it's all good.
Our terminals are no longer dumb. They have actually progressed beyond being 'smart'. They are full-blown computers.
What does this have to do with cloud computing?
Cloud computing proposes to take us all back to the age of semi-dumb terminals. Our desktop computers will run a browser program and not much else. Conceivably, a very special (read cheap) computer that has no hard drive and boots up directly into Firefox would be the ultimate Cloud Computing machine. It would have no hard drive, very little RAM, and a really fast communication system.
Keep in mind that there are many nuances to the cloud computing paradigm. Not everyone will elect to trust their entire computing experience to The Cloud. You may choose to save your data in the cloud and process it locally with application software executing on your own private processor. You will probably still need a printer, but your hard drive and RAM requirements could be drastically reduced.
You're already a cloud computer user
If you use Google's Gmail, Microsoft's Hotmail or Yahoo's Yahoo Mail, your email is stored in the cloud. Each little message resides on a server somewhere in cyberspace; you don't know where and you have no control over such. Welcome to cloud computing.
Think about doing your taxes the same way. You browse to a web site, key in your vital statistics, and a remote computer calculates your refund. Nothing except a browser cookie is stored locally. Perhaps not even that. Processing could take place on a PC in Poughkeepsie or a Mac on Mackinac Island. It might take place on both. That's cloud computing.
Imagine opening your My Documents folder (apologies to Mac users who don't recognize the terminology, but Windows still dominates the market) the same way you currently do. Instead of studying the directory contents of a folder on your local hard drive, you are viewing a list of file names taken from a remote server in Bangladesh, Addis Ababa, or Kokomo; you'll never know. You are now computing in the cloud.
Pros and Cons
Assuming that you choose to go whole-hog and jump completely into the cloud, let's consider the extremes.
On the bright side...
- Someone else is responsible for backing up your data. You aren't doing it anyway.
- Someone else is responsible for protecting the integrity of your data. All you do is lock the door when you leave the house.
- Someone else is responsible for keeping your programs up to date. A technician who is paid to do so will monitor the current versions of your favorite programs and ensure that they all play together. For most users, costs and frustration levels will decline.
- Your data is scattered all over cyberspace. It is safe and secure? You have absolutely no idea. Your personal files are at the mercy of the company who owns the server.
- Your software choices are severely limited. You will no longer be able to download those new Hannah Montana fonts unless the cloud gives you permission. Some clouds will be amenable. Some will not.
- When the Internet goes down, you have nothing. Even Solitaire will be served from the cloud. Without a reliable 'net connection, you have a colorful dumb terminal.
- Your cost structure will change. These days you buy a PC; from then on it's essentially free to operate unless you make a voluntary purchase. When you dedicate yourself or your business to The Cloud, you may find yourself paying for storage or for processing time. It might not seem expensive, but you still have to purchase the terminal and the fee schedule may be more daunting than your cell phone contract.
Cloud Computing won't go away any time soon. It's part of the cyclic evolution of computer systems. The cloud provides many of the features and convenience enjoyed by mainframe users in the early days of computing. That's not always a bad thing.
More by this Author
Ever been to a NASCAR race? I thought not. Here are my top 10 reasons why NASCAR racing doesn't rock.
A useful text editor is an essential component of any personal computer. Every day we need to make notes, compose documents, and record vital pieces of information. We depend on our text editor. Microsoft provided...
Data Hiding is an aspect of Object Oriented Programming (OOP) that allows developers to protect private data and hide implementation details. In this tutorial we examine basic data hiding techniques in Java.