Red Hat CloudForms is Red Hat’s Cloud Management Platform (CMP) product. A CMP is a piece of software that provides high-level management capabilities on top of virtualization infrastructures, private clouds, and public clouds. Some examples of these management capabilities are self-service, chargeback/showback, orchestration, reporting and policy enforcement.
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:
- We can prepare a lab once (as a Blueprint) and then everybody else can just use it. No more wasted time where a lot of people are maintaining their own labs.
- There are no more performance issues. Since Ravello is cloud based, there’s a (virtually) infinite supply of labs that we can start up so that everybody can have their own.
- There are no more isolation issues. Each person gets their own lab, fully isolated from any other labs. The person has full rights and can make arbitrary changes. And if the lab breaks down, it can always be reset to a pristine state.
- The economics are much better. Labs are typically active only a fraction of time, but there are correlated peak demands when e.g. new versions are released. This makes an on-demand solution much more efficient.
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:
- An infrastructure server that provides DHCP, identity management, iSCSI and NFS services for the other systems in the lab.
- A “bastion” host for external access.
- A CloudForms appliance.
- A RHEV system consisting of a manager (in self-hosted mode) and a second hypervisor.
- A vSphere system consisting of a VMware vCenter™ Server appliance and two ESXi nodes.
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.
About Ravello Systems
Ravello is the industry’s leading nested virtualization and software-defined networking SaaS. It enables enterprises to create cloud-based development, test, UAT, integration and staging environments by automatically cloning their VMware-based applications in AWS. Ravello is built by the same team that developed the KVM hypervisor in Linux.