CloudForms acts as a “manager of managers”. It connects to one or more supported virtualization or cloud management systems to provide for management of those. These management connections are implemented by what we call “providers.” Our currently supported providers are VMware vSphere™, Red Hat Enterprise Virtualization, Red Hat Enterprise Linux OpenStack Platform, Amazon Web Services, and Microsoft System Center Virtual Machine Manager.
This “manager of managers” nature of CloudForms makes it challenging for us to provide lab environments for technical training of our staff. I am a firm believer that for technical training, there is no substitute for quality “keyboard time” i.e. people getting their hands dirty with a working setup to educate themselves and try out new things. Installation of CloudForms itself is very easy (it’s a virtual appliance), however in order to get a useful setup you need to connect to at least one management system. And this is where it gets somewhat tricky. Setting up for example vSphere or OpenStack is not that difficult but it takes time and more importantly it requires physical hardware. Both require low-level installs via an ISO image or PXE, layer-2 networking, and Intel/AMD hardware virtualization features. Normally these requirements are only available in a bare metal environment.
Before Ravello we used centralized hardware labs for this, which was problematic. Due to the difficulties of automating and scheduling real hardware, and the limited amount of hardware we had, the lab was a shared lab. This means multiple technical people would access it at the same time. This lead to performance issues, and worse, stability issues where one person would make a change that would impact others.
Some people got frustrated by this and went with the “datacenter under your desk” approach. They would either scavenge old servers or expense new cheap ones, and put it under their desk. This of course is not very economical, both in terms of direct expenses, as well as the time required for everybody to maintain their own lab. Also it leads to excess noise and heat in our offices.
You can imagine we were very happy when the Ravello team approached us and told us they were working on an implementation of Intel/AMD hardware virtualization that would support VMware ESXi™. Together with Ravello’s already available low-level installs, layer-2 networking, and nested virtualization support for KVM, this would potentially allow us to replace our hardware based lab with a cloud based one. The benefits are obvious:
For the last few months we beta tested the Ravello hardware virtualization feature. I’m glad to say that it has worked very well for us, and even performance is great. We did not do a formal performance test, but I cannot feel any difference between “simply nested” systems running as Ravello VMs, and “doubly” nested VMs running on e.g. ESXi running inside Ravello
Based on our successful testing, we now have an on-demand Ravello based lab with CloudForms, VMware vSphere and Red Hat Enterprise Virtualization/KVM that is available to all Red Hat staff.
Access to the lab is provided by a permanently running CloudForms instance. We chose to go this route rather than giving direct access to the Ravello web UI as this allows us more fine grained control over usage and approvals. Using some simple integration code that calls out to the Ravello RESTful API, the lab can be ordered as a service catalog item. To access a lab, staff log on to this CloudForms instance with their Red Hat account. They then choose the “CloudForms 3.1 Functional Lab” service from the service catalog, select the expiration time (default: 3 months) and press “Submit”. This is shown in the screenshot below.
After submission, the request typically gets auto-approved, and the lab will be provisioned right away. Once the lab is ready, an email is sent with login details to the requesting user. The system will also create separate dynamic DNS entries for easy access.
The default runtime of our lab is 12 hours. If the lab is not extended by the user before then, it will automatically stop (obviously all state is preserved and it can be started up later at any time). The limited runtime with an manual extension is a way to limit our cost. In addition to extending the runtime, full lab control is available to the user via a custom CloudForms menu. This is highlighted in the screenshot below where you can see buttons for e.g. Start, Stop, Status and Delete.
The screenshot below shows how the labs look in the Ravello web UI. As you can see, most of them are typically idle.
Each lab contains:
This is shown in the screenshot below:
We’ve been using the hardware virtualization feature in Ravello for a few months now and are very happy with it. It solves a real problem for us where we need to take care of technical training for a product with complex infrastructure requirements that would normally requires physical hardware. With Ravello we can do this in the cloud instead. This gives us better performance, good isolation, and lower cost.
VMware product names, logos, brands, and other trademarks featured or referred to in the ravellosystems domain are the property of VMware. VMware is not affiliated with Ravello Systems or any of Ravello System's employees or representatives. VMware does not sponsor or endorse the contents, materials, or processes discussed on the site.