With VMware converging storage - VSAN - and networking - Nicira - into the hypervisor, it’s re-inventing the server operating system.
Chuck Hollis, chief strategist at VMware’s SAS business unit, has blogged about this convergence.
He reckons that we’re seeing hardware convergence, mentioning flash coming into the server via PCIe and other technologies, and storage array controller software implemented as a server application using commodity hardware - aka software-defined storage.
VMware’s VSAN is an obvious example of the trend towards having virtual SANs created by aggregating direct-attached storage across a set of servers. Think of HP P4000 as another example.
According to Hollis, the best place to run the server virtual storage software is in the hypervisor. The storage, like the compute and the network, is just an infrastructure resource to be virtualised and carved up in policy-driven chunks for use by applications.
He draws a parallel with hardware convergence, thinking of things like Vblocks and products made by startups like Nutanix and Simplivity, and suggests software convergence is desirable too - in the hypervisor.
Hollis blogs: “If infrastructure functionality is to be delivered as software, shouldn’t we be aspiring to software convergence models? And, given that the hypervisor already abstracts compute — and more recently network and storage, the notion of hypervisor convergence has a certain technical and architectural appeal.”
“It’s not hard to conclude that the hypervisor — as the key interface between application and infrastructure — is in a perfect position to define the boundaries of an application, capture application policy, express it downwards to the infrastructure, and monitor compliance.”
This got me thinking.
What do we call a chunk of code running on server bare metal that parcels up and delivers compute, storage and networking resources to applications?
There are two answers. One is an operating system and the other is a hypervisor, and the dawning realisation is, I believe, that they are one and the same: the hypervisor is the OS.
In which case, why do we need an OS in each virtual machine? It is simply the equivalent of useless middle management getting in the way and sucking up CPU cycles better spent by the hypervisor and the apps themselves.
All the OS in the VM needs to do is act as a hypervisor interface layer. We don’t really need no stinking Windows or any other OS in the virtual machines. Will it be possible – indeed, is it possible – to compile apps to run inside hypervisor-controlled VMs that have no need for a traditional operating system inside them at all?
Think of all the gazillions of DRAM bytes and CPU core threads and cycles that would save. ®