Laxitive writes: GridCentric just posted an article and demo on using live-cloning of VMs across a network to implement a producer/consumer system where new producer and/or consumer VMs can be instantly scaled from a single running VM to dozens in a few seconds, with just a single click.
The article demonstrates scaling from 1 VM to more than a dozen (across multiple physical hosts on a network) in just a few seconds... putting the scaling performance of existing cloud architectures to shame.
Laxitive writes: We (GridCentric) just posted a couple of interesting videos demoing a load-testing use-case on top of our freely available Xen-based virtualization platform called Copper. In both videos, we use live-cloning of VMs to instantly create a swarm of worker VMs that act as clients to a webapp. The ability to clone is exposed as an API call to the VM that wants to clone itself, meaning that in a dozen lines of shell, we can script the automatic creation and control of dozens of VMs across multiple physical computers.
Creating a clone VM in Copper is similar in function and complexity to forking a process in Unix, and carries all the same assurances: your new VMs are near exact copies of the original VM, start running within seconds of the clone command being invoked, and are "live" — meaning that all programs running on the original VM remain running on the clone VM.
The more we play with it, the more it feels like live-cloning is one of those core capabilities which is at once powerful as well as easy to leverage in designing distributed applications and services. And it seems that today, when cloud is on the top of everyone's mind, is when we should really be having a discussion on what the APIs, architecture, and features of this new class of distributed operating systems should be.
We hope this demo spurs some of that discussion...