I’ve Looked At Clouds From Both Sides Now

I’ve Looked At Clouds From Both Sides Now was Originally Posted on June 1, 2012 by

The newest idea floating (pun intended) around is Cloud Computing. Decades ago we had mainframes and you have a terminal and a modem. You accessed the mainframe which did all your computing for you. It did all the storage for you.

Then we had personal computers where we perfromed computing locally and stored data locally. We were no longer at the mercy of maintenance schedules of the computer center.

One difference is that we were now required nd responsible for backing up and managing our resources. That we did not do well.

Along comes the idea of distributed computing. My first access to the new technology was at my previous employer. We took data and stored it all over based upon cost and access speed. Think of it as you having a large amount of data. The parts that you need quickly, you save on your PC. Data that you won’t need for years may be stored on a slow tape offline and people would have to recall tapes to make it available.

That was the idea of our storage. You might have part of your data on a disk in another part of town and some on a disk in another state. If the access speed is fast enough, you would not care where the data is stored, as long as it is safe.

Another system we had would move data. We had a computer with current data which was updated in real time. It contained products, prices and availability. Another computer was used by sales people and needed to only read that data. Rather than have those people access the original computer, we copied the data from the updated computer to the salesman computer.

First all data was copied and both systems had duplicate data. Then as records on the original system were changed, just the changes were transmitted to the salesman computer. Thus we add a product and soon that product shows up to the salesmen. It was not realtime and did not have to be. Since we could verify that both systems had the same data, we only needed to track and transmit changes.

If the connection between systems went down, the changes would back up. Then when the communications line opened back up, all changes would be updated on the salesmans system.

The system could also work in reverse, if both systems allowed updates. Each system would intercept a change (rather than a read of data) and write that change to a transaction file. Then each computer reads the opposite computers transactions (in order) and performs those transactions locally).

Enter applications now like DROPBOX. You create an account, create a folder on two computers and link them (via the internet). When you drop a file in the folder on your local system, software knows that it does not exist on the distant system and clopies it so both folders have the same files in them. You can add another computer and have all 3 contain the same data.

I do this with Dropbox on my cellphone and on my home PC. I created a spreadsheet with my shopping list (anitem and where I want to buy it) and within seconds, my cellphone receives that updated file. Then when shopping, I open the file on the cellphone, delete the item I just bought and save the file. Seconds later, my computer at home woudl show those changes.

This is very similar to how Amazon manages the Kindle data. You buy a book and download it to your Kindle. You can also have the same book on your PC and use a PC Reader program to read it. Rather than automatically copy the book, you are offered the option of which equipment (or all of them) should receive your book. The bookmarks are managed globally so that if you read up to page 7 on one device, all the other devids know that and will ask if you want to continue reading at that updated bookmark.

Since they already had the ability to manage a directory/folder with data, it made sense for Amazon to begin to offer the ability for you to save your own data elsewhere. Although they could offer am dropbox-type service, the biggest plus for them as to create large data repositories and allow you to save any data on their servers (and charge for that ability). This is similar to being able to back up your computer with Carbonite-type services to a remote computer. Then if you delete a file, you just tell the system to send it back.

As for computing, it is possible to take a problem and break it down to smaller portions. Lets say that you need to multiply 50 numbers times 7. You could take each number, multiply it, then move on the next number. Alternatively, you could hand a number to 50 people and ask each one to multiply it for you and give you the answer. Distributed (Grid) computing like this is the backbone of many of the scientific investigations happing as we speak. You can download a portion of data, have your system solve for a problem and upload the results to the provider, helping to find a cure for cancer, find prime numbers or look for life on other planets. See boinc.berkeley.edu for one such way to get involved.

So although “Cloud Computing and Storage” may sound complicated, it isn’t really.