Wednesday, December 08, 2010

Chrome OS and Cloud Computing

Nothing is more misunderstood than the "Cloud" and "cloud computing".  That's because the term is so broad that it can encompass a number of different environments and scenarios in the computing world.  Essentially, cloud computing is placing all or some of your computer's work into the cloud.  That can be storage, processing, or the entire experience.  Chrome OS is Google's interpretation, but there are a number of different methods of getting your computing experience in the cloud.

Please note, this shows my understanding, flawed as it may be.  If you have any clarifications for me, please let me know.  I would be happy to make amendments, corrections, and change my views.

The All Method

So how does one do it?  Well, the most common and most well known way is to throw virtual machines into a data center and have browser or terminal access to those virtual machines.  This is throwing it into the "cloud", because the computers are not processing or existing locally on any hardware, but are accessed through the network or Internet.  This is the approach of both VMWare and Citrix.

The Storage Method

Another solution is to place part of the experience on the web, and run the rest locally on the computer.  DiscCloud has applied this to the Macintosh computer, allowing the user to place storage within the cloud, and even their Desktop.  Essentially they are placing their home folder on a network storage location.  This can also include Time Machine repositories, and applications (with a few exceptions).  Network Home Folders are nothing new, but placing them in the Amazon cloud sure is, making this a unique solution.  Apps run on the local computer, freeing bandwidth and server processing for storage.

The All But Processing Method

Another method is to place the entire environment, operating system, applications, etc. into the web.  New programming skills, and web development tools make this possible, as shown with the OnlineOS (Amoeba OS).  Everything is built within a website, and managed like a website.  But the applications are real, and run locally on the computer (because they are web applications).  Again, storage is in the cloud, but so is your login.

Chrome OS

Chrome OS seems to fall somewhere between the Network Home Folder method and the All But Processing Method.  Why do I say that?  Because you do have a local OS installed, unlike the All But Processing Method of Amoeba OS. 

But the OS doesn't store much of anything on the local drive.  Instead it relies on most of the processing power within the Cloud for authentication, home folder (storage), and settings.  It does, however, seem to allow for local processing of information for the web Apps, making it very much like the Amoeba OS platform. 

There are some questions I do have, which I can't seem to find the answers to (perhaps more will be made apparent when the OS is released).  What about high processing requirements?  Chrome OS seems to be an excellent method for tablets and netbooks, but what if you want to, say, create a podcast or just splice some video together and upload it to the web?  Where does the processing requests for rendering go?  Where does the video reside? 

One scenario I can see is that the video, as it is captured or transferred, is sent up to the cloud, and any rendering is done there.  Same with the audio.  The processing power of the data center can manage the rendering process, and all should be well.

The other scenario is that the video/audio data remains local and the rendering process is done locally on the computer.  This could be a little slow, depending on the netbook or tablet, and the type of video being rendered. 

And the thing is, I can see it going both ways, and problems with both scenarios.  The video being transferred to the cloud can take some time, even if it is syncing or uploading while it's being captured.  It all depends on the Internet connection, and not everyone has a great connection.  And, of course, with all the rest of the data storage, it will have to get there sometime, whether it's local or not.  And local processing would be great if the processor can handle it, otherwise it would be just as slow as the upload. 

Perhaps Chrome OS won't be designed for video rendering, and leave that for another OS to handle.  But I'm not sure I like that, because the platform has the potential to do great things.  Why shouldn't it be able to handle this situation?  It will be interesting to see how it works. 

So, in the next couple of days, I'm going to be building a Chrome OS virtual machine and run some tests (assuming I don't get approved for a Chrome OS laptop).  It's an implementation of Cloud Computing that can solve a lot of problems in the business world, such as being very mobile and applying one's accounts to ANY computer they log into.  Google has the funds, infrastructure, and tools to do it.  Let's see what it does. 

No comments: