Hyposcale
Nothing that mentions “Cloud†can assume the reader is thinking along the same lines as the writer. “Cloud†is one of those things that means different things to different people, and all things to some people. In other words, a perfect recipe for confusion.
In this sense I am talking about the IaaS offerings from major cloud providers such as AWS and Azure.
One of the enablers for cloud is virtualisation. This has allowed the cloud providers to separate their own infrastructure from the virtual infrastructure they offer clients.
Virtualisation also has a key place in enterprise computing.
Again it allows the virtual systems that are used to host applications from the underlying hardware, allowing maintenance and other tasks to be carried out with minimal interruption to the application’s users.
There is however a key element that is different. For those of us who remember back to last decade when VMware was new and not widely adopted, a key selling point wasn’t anything mentioned above, it was “Consolidationâ€. VMware partners would run an analysis tool from VMware that would report on how many servers were in the environment, their average and maximum CPU utilisation, and show how potential customers could reduce their the number of physical servers dramatically by over-subscribing CPUs by between 5:1 and 20:1.
One result of this was “Virtual Server Sprawlâ€. Even more then before, each application was given its own server. It seemed that these servers were free; so what if it ran at no more than 10% CPU, another server could use the other 90%. Many vendors now ship software as “virtual appliancesâ€, packaged virtual machines that boot up on a VMware host. Applications with only a couple of users now get their own virtual server, in the pre-virtualisation world they would share a server with other small applications.
Enter the cloud providers. With some exceptions, the main IaaS
offerings do not oversubscribe CPUs. Each virtual machine has to pay for their peek CPU usage, and anything that they don’t use is wasted. The providers do this to ensure each client system is not impacted by other clients behaviour but it does mean that customers inevitably pay for CPU cycles they never use.
Now comes the interesting part. What happened when a customer wants to transition from an environment that oversubscribes CPUs to one doesn’t?