OpenStack Smart Lab technology overview
Ravello is an overlay cloud service provider that sits on top of AWS and Google cloud. Ravello’s core technology is a unique virtual infrastructure layer, called HVX, that makes AWS and Google look like real hardware. HVX consists of a high performance nested virtualization engine and an overlay network technology. Put together HVX enables developers, ISVs and enterprises deploying OpenStack in their data centers to run development, testing, staging and upgrade testing environments in AWS or Google cloud with KVM hardware acceleration.
HVX: Nested hypervisor - run KVM on AWS or Google cloud
HVX is a nested virtualization engine (or virtual machine manager, VMM) that is designed from the ground up to run in already virtualized hardware. HVX uses dynamic binary translation with a lot of optimizations for performance. It exposes VMware or KVM virtual devices to the VM running on top, so that enterprises can run their existing VMware or KVM VMs on AWS or Google cloud without making any changes. In addition, HVX also implements Intel VT, AMD-V and nested pages functionality in software. This allows developers and enterprises to run hypervisors like KVM (and soon VMware ESXi) on Ravello on AWS with hardware acceleration instead of simple qemu emulation - and have guest VMs running on top. The binary translation engine also contains some optimizations that let the 3rd level guest run as a 2nd level guest for maximum performance.
HVX: software defined networking - clean L2 network on AWS for VLANs and full separation
Running KVM on AWS is one part of the solution. OpenStack also needs a lot of flexibility at the networking level to implement tenant networks and have full separation with VLANs or GRE tunnels. Typically, it is difficult to do that in AWS or Google cloud because their networks do not offer a clean L2 environment to guest VMs. In order to solve this problem, each HVX hypervisor instance comes with a distributed switch and router and presents an overlay network to the OpenStack environment running on top. This makes it ideal for developers to build a real OpenStack environment and test multiple L2 and L3 network appliances and functionality.
Blueprint (snapshot) the undercloud
In order to simplify setting up OpenStack and trying out new versions, developers can create a blueprint of the undercloud consisting of several nodes, networked per the desired configuration. This makes setting up a new multi-node instance of OpenStack a lot simpler. Developers can simply create a new “application” instance from the undercloud blueprint and use the tool of their choice (DevStack, Red Hat Foreman etc.) to install and configure the OpenStack components on top of the undercloud.