I attended an Oracle seminar on Cloud Computing last week at a hotel opposite St. Paul’s Cathedral in London. These events are a little grim as the marketing types have ensured that, once you enter the Oracle area, all sensory data received screams “Oracle are TRENDY” at you. From the colour scheme and the logos to the bloody awful music which appeared to have been selected by a teenager asked to play something he thought reminded him of computers.
Oracle’s main theme is that they are developing an overarching framework to provide cloud computing based around Exabyte and Exadata. They’re marketing can’t have been that good as I forget which is which but part of their offering is hardware tailored to virtualization and part is software tailored to provide systems which can be set up and taken down quickly.
Good, good, Excellent, excellent!
It got me thinking.
I suggest that server visualisation is the result of the failure of the Operating System (OS) to do its job. These days we tend to think of the OS as a fancy interface with windows which open and close and make nice noises. However, this is just a “shell”. It is the bit that talks to the user. The reason for an OS to exist is to abstract the hardware from the user and the applications. It is to allow developers to write in high level languages rather than machine code.
Another point of a modern OS is to provide interrupt driven slices of time to each application in a way that makes the application appear to be running continuously on a processor. Also to isolate each process so that if one fails it does not take down the rest.
All OS vendors spent a lot of time convincing us that they had achieved this. However, over the past ten years or so it has become common practice, especially with Windows systems, to place only one application on each system. The OS had failed to reliably isolate application and people did not trust Windows enough to allow two critical apps to share the same system. This led to a proliferation of underutilized servers.
VMware, as we all know, allows many physical boxes to appear like one big box and for this big box to appear like many smaller boxes. The effect is that we can run numerous “virtual machines” on one big physical machine that is itself made up of numerous smaller physical machines. This is useful as it allows fault tolerance and the ability to add capacity easily. It also isolates each system from the other without the necessity to add hardware for each new system and allows better management of hardware resources. In short it is more efficient.
So, the band wagon had started rolling and on jumped everyone in sight creating their own systems for virtualization. Of course Oracle are up there with the best of them. At least, they claim that they are, I should point out that many presentations at the Oracle minar included am early slide stating that some of the features shown were currently still under development. We need not worry, their tasks is really one of tidying up and bolting everything together.
So, where are we now or where will we be once Oracle’s vision materialises?
We will be in a world where resources such as storage and networking are managed, not by the OS but by the Database engine or the virtualization software. A world of centralised functionality such as single sign on and file sharing.
What then is the role of the OS?
It may be that the OS has no role on the server side at all. Oracle already have a version of their relational database which runs directly on their virutalization software. Further, with desktop virtualization and gadgets like the iPad infringing on the desktop/laptop space it may be that we’re in for a shake up there too.
If you have Microsoft shares, sell them.