Apache CloudStack 4.0 incubating has been released couple weeks ago now. The testing procedure used by the community to vote on the release candidate included using the new CloudStack sandbox DevCloud.
You will see that one of the first things to do is to install DevCloud: A virtualbox appliance based on Ubuntu 12.04 and running a Xen Kernel. The CloudStack management server is pre-installed with a basic toy data center being configured. Thanks to nested virtualization this allows users to start virtual machine instances within the devcloud sandbox.
The key ingredient is nested virtualization. It is really nice for testing things but most likely less so if your are concerned with performance, even though I have not seen benchmarks on nested virtualization.
DevCloud was not created solely for the release candidate testing procedure. It was developed by Citrix developer Edison Su to act as a development environment, giving developers the ability to deploy their own cloud testbed on their own machine. Of course, this does not allow for testing of all CloudStack features especially advanced networking features like VPC and other SDN solutions, but it enables anyone to do some quick smoke tests...and learn CloudStack.
The most compelling fact in favor of DevCloud is that it lowers the barrier of entry for folks to give CloudStack a go: access a working GUI, start instances, take snapshots, access the systemVMs, play with a XCP host, and learn the API. I used it in a tutorial at Linuxcon EU in Barcelona last week. I handed out several USB sticks to attendees, they loaded the appliance in VirtualBox and where on the go with cloudStack. The FOSS event coming up in India at the end of the month will also feature a CloudStack tutorial using DevCloud.
I love DevCloud because it's a great teaching and training tool. It helps you to discover CloudStack with no investment. You can get going on your laptop. Hey, I run it on my mb Air and it runs super fast. It can also expand into a research tool if you want to get adventurous with networking. A few of the folks in the CloudStack community are now using it in a host-only mode running the CloudStack management server on the localhost, together with the mysql database needed, and using devcloud as a host on which to run the VMs. It leverages the host-only interface of VirtualBox. This means that additional Vbox instances will be able to communicate with DevCloud.
This also means that something like the Virtual Distributed Ethernet VDE switch could be used as well. This would open the door to make use of the VLAN features in CloudStack and link to other hosts.
VirtualBox is great, but a DevCloud image for other hypervisors would be nice as well. Assuming they support nested virtualization. The ACIS research group at the University of FLorida is working on creating a KVM appliance for DevCloud this would open yet more doors...
To wrap up, DevCloud is a terrific new tool for CloudStack, in my view it has three basic modes:
- Fully contained sandbox, to give CloudStack a try
- Dev environment, compiling the CloudStack source outside DevCloud and pushing the build inside of it for testing.
- A Dev/Research environment where you can link DevCloud to other resources in your computing infrastructure via advanced networking features.
DevCloud = Awesome !