The Long Dark Tech-Time of the Soul

This is a technology focused blog that describes my trials and tribulations with techonlogy which, no matter what brave new world is promised to be just around the corner, nearly always fails to live up to expectations.

Wednesday, October 10, 2007

Full bare-metal VM

Earlier this year when I was researching business ideas I spent quite a while looking at virtual machine technologies. Having used them for a couple of years I was somewhat (but definitely not a lot) ahead of the curve. It was clear to me that VMs are cool, useful and the way things will be in the future. The two main trends that occured to me were that:

a) all applications would eventually be delivered as virtual machines. This is the logical extension of the long running saga of desktop application virtualization via Java, .NET and now via the web container and remote HTML spewing connections (AJAX, Comet et al) to other VMs.

b) as a consequence of a) the desktop OS you run will eventually become irrelevant. You'll either be running apps that are inherently cross platform or are not but are delivered inside a single application licensed OS instance e.g. Windows running Word or Windows running Photoshop - and nothing else. You'll run it on your own VM host along with a whole bunch of other VM encapsulated applications.

Thanks to Open Source and the burgeoning Linux market there is already tremendous cross platform support for many applications - only the deeply entrenched app providers like Microsoft, Adobe and a few others are holding things back (and there are signs that even Adobe is weakening - probably to try and stave off the threat of people who skip right over the bother of learning Photoshop or Premier to other Open Source alternatives).

The corollary of b) is that if your host OS doesn't matter and all you are doing is running client OS encapsulated applications then the host OS could really be anything that can run a VM container. It could be very thing indeed - a very lean Linux or a stripped down embedded OS even - just whatever it takes to run the VM container. A company like VMWare is ideally suited to figure out what that functionality is and it is logical that the eventually start shipping such a system already built into hardware via firmware.

As it turns out I just heard about a company DeviceVM that is doing just that with one of the latest Asus P5E3 Deluxe motherboards. Their system is called Splashtop which lets you boot very quickly to a minimal system containing a browser and few applications. Given their company name it sounds very like they are running a VM image - my guess is they are actually booting a Xen enabled stripped down Linux instead of BIOS which then loads a virtual machine image from disk - this is similar to some of them operating system on a stick systems where you boot from the USB device which has a generic Linux on it that will run on just about any hardware and then boots your real OS as a VM. With the free availability of VMWare Server thats something that almost anyone can put together albeit with considerably reduced performance (I've run VMWare Server off a 4GB USB drive and its SLOW).

I'll be interested to see where Splashtop goes - I think its biggest potential probably lies in the appliance market where gaming, multimedia and other homedevices can basically be sold as some hardware and a VM image. Microsoft, if they were forward thinking enough, should also realize that licensing Windows to run as a guest OS executing a single application could get them serious amounts of revenue. Even if they only eek out say $10 per unit just think of how many Apple and even Linux users would be queuing up to get their favorite Windows app or two - but not the whole bare OS - running on their OS of choice.

This model of using apps may sound funky but believe me it works - it is exactly like remote desktoping into a Windows Server machine where your account has been locked to run only one application. It is also very similar to pulling up a browser to run a Web 2.0 application - the only difference there is you are much more dependent on remote network access speed. Local virtualized applications just don't have that problem which means the era of the extremely hard to develop and maintain, not to mention increasingly insecure web application is almost over. Fat clients will be back but they will be completely encapsulated clients downloadble a incremental VM images. Furthermore, for the application producer the benefits are enormous and could finally make application development and testing on an increasingly diverse OS base relatively easy again...

And as I originally said, all this means which OS you run on your machine - if you even care or know - will be irrelevant to the user and application developer. That's exactly the way it should be and everything that Java tried to be as a virtual machine and failed (although I still think it and .NET are great development languages and have done wonderful things for the software development world).

Roll on full bare-metal VMs!

0 Comments:

Post a Comment

<< Home