I have had the chance to work with Ravello quite a lot in the last few years – participating in their initial vExpert access program testing out their beta of running nested ESXi – as well as getting a nifty deep dive into their HVX offering at a Tech Field Day a few years ago. The tech is awesome – the people are great. One thing I will admit though – when they were purchased by Oracle I was worried. You see, sometimes when giant corporations such as Oracle swallow up a start-up such as Ravello we see some of the tech disappear – meaning, the bigger company takes the cut of meat they want off of the bone and tosses the rest into the garbage never to be seen again! All that said this certainly was not the case with Oracle and Ravello – the vExpert access that they so graciously offered up, well it remained – and over the past couple weeks I got a sneak peek into what exactly Oracle and Ravello have been up to – and to be honest, it’s only gotten better! Ravello on Oracle Cloud Infrastructure Ravello’s HVX was a key component of us being able to forklift our VMware VMs as they are and place them into either the Amazon or Google Cloud computing environments – or, if we fancied we could simply turn on a flag inside Ravello and install ESXi directly in the cloud. In the end, we had this sort of Hypervisor inception if you will – a KVM fork running HVX which in turn ran ESXi and then our VMs. As you can imagine there were some performance bottlenecks in doing so – not to say that Ravello was slow by any means – to be honest, the performance really surprised me when I started working with it. In order to properly execute the underlying instructions in the traditional Ravello environments they used something called binary translation. This had to be used due to underlying hardware instruction sets which were not exposed to Ravello – therefore Ravello would essentially invent their own through software. The binary translation, coupled with the “nestedness” of the solutions, and with some hard limits on number of CPUs/Memory per VM tended to place Ravello into the Testing/Lab/Pre-Production folder of workload types… Well, today, that all changes – today we now have a couple other options when it comes to deploying our VMs inside of Ravello. We now have regions which are tied to the Oracle Cloud Infrastructure (OCI). OCI is basically Oracles cloud, however in the sake of Ravello and HVX we have a couple different flavours of platforms we can deploy on. First, now that Ravello essentially owns the infrastructure HVX is running on we can use something called Hardware assisted Nested Virtualization – in short, the hardware underneath supports exposing those instruction sets directly up to the HVX hypervisor – thus improving speeds and performance with that. But Ravello on OCI doesn’t stop here either. Today we also have a new flag that we can apply to our workloads within Ravello – The preferPhysicalHost parameter can now be set to true on a per-VM basis, and when doing so we essentially can run our workload directly on top of HVX, which in turn is running directly on bare metal. Here we can execute our physical instruction set directly on bare metal hardware, without the need for any sort of software or hardware translations at all. As shown below certainly the bare-metal option gives us the best performance out of the three options as there is now software or hardware translations happening whatsoever. So what type of performance are we talking about? As I mentioned earlier I really didn’t have an issue with the Ravello performance before the Oracle acquisition – maybe I’m just a patient guy but I think I just didn’t know what else could be done. To get a bit of a baseline on performance I decided to execute the PassMark benchmark on the three different Ravello regions – and ended up with the following results
|Software based nested Virtualization (AWS/GCE)||Oracle Cloud Infrastructure Hardware Assisted nested virtualization||Oracle Cloud Infrastructure Bare Metal|
As you can see we gain some great performance when moving into hardware assisted virtualization, however the jump from software based instruction sets to bare-metal is nearly double the PassMark benchmark score – a pretty valid increase! Now I know sometimes these benchmarks mean very little but there has to be some truth to the increase in the numbers right? Either way, the difference in performance is most certainly noticeable – to be honest, I started the bare metal test directly after the software based test – and it nearly finished first. So with these new performance increases, and support to larger VMs consuming more resources I’m sure we will see Ravello on Oracle Cloud Infrastructure make a bigger push into the enterprise, looking to migrate some of those production workloads into the cloud. I’m happy for Ravello and happy that Oracle has put forth the resources they have to make Ravello and HVX even better than it was. It really is a solid service which provides some very unique and interesting opportunities as it applies to networking and cross cloud configurations. You can find the official Ravello announcement here – or if looking for more community blogs give #RavelloOCI a search on Twitter! Thanks for reading!