As you know Ravello (now part of Oracle) cloud infrastructure is an easy entry point for VMware (and KVM) admins to test and then run VMs in the cloud without any re-configurations. We have demonstrated in our previous post that you can be up and running fairly quickly. We had migrated 2 Jenkins VMs to the Ravello cloud and saw that it's quite a seamless experience. Today, we'll explore other options and show you How To Run VMs in Oracle Cloud Infrastructure via Ravello Service on Separate Cloud Hosts which are located in different datacenters. So you get host failure and site failure protection.
As part of Oracle, Ravello uses Oracle Cloud Infrastructure (OCI) which is distributed across the globe. There are 29 regions globally across Oracle Cloud Infrastructure (OCI), Amazon Web Services, and Google Cloud Platform. There is a possibility to make run your VMs on different hosts so like in VMware vSphere you can set anti-affinity rules and make run your VMs on separate cloud hosts.
But let's first recap what is Ravello cloud and how VMware admins can use it. Ravello is a cloud platform which runs an alternative hypervisor called HVX but it's been designed to stay compatible with VMware vSphere (and KVM). So your VMware VMs does not has to be transformed/reconfigured as you would have to do for AWS or Azure.
There is also a new possibility to run those VMs on Ravello HVX hypervisor installed directly on bare-metal so the VMs runs with almost native speed. Previously their offering was only software assisted virtualization with binary translation.
With their latest innovations, HVX’s nested virtualization engine supports three modes when running VMware VMs.
These Three nested virtualization modes are:
- Software Assisted – For AWS/GCP clouds not supporting or exposing the hardware assist capabilities. Still OK and acceptable for workloads not needing top of the class performance. (their initial offering)
- Hardware Assisted – for clouds supporting virtualization extensions allowing multiple guest OSs to share the same underlying hardware. For example, Oracle Cloud Infrastructure supports those extensions. (Very Good performance)
- Direct on bare metal (Best performance) – HVX is installed directly on the bare metal hardware so the performance of the VMs is optimal.
To get started, basically, all you have to do is to:
- Install Ravello Import Tool (Windows, MAC, Linux)
- Upload your VMs or export them first, to the Ravello cloud.
- Create an Application and drag-and-drop those VMs to the canvas (it's the UI you're working with). Ravello takes care of networking and basic configuration so the app works generally out of the box.
We have created a couple of posts in the past, you might want to look at them to get you started:
- How to Get Started with Ravello Systems – VM Import Tool
- How to create a simple VM in Ravello?
- How-to Install VMware Tools on VM which runs in Ravello Cloud?
- How to configure RDP for your VM in Ravello Cloud
How To Run VMs in Ravello Cloud on Separate Cloud Hosts?
So, to make sure that your VMs run on different cloud hosts, you can assign the VM to a different availability group. Use Availability Groups to control separate locations for VMs that should not reside in the same availability region.
What is an Availability Group?
Example: You have an application using a load balancer. You want to make sure that the VMs which are located behind load balancer runs each on different cloud host. You can do that with availability group.
Your VMs will not only be located on different cloud host, but the host itself is located in a separate availability zone (AWS) or availability domain (Oracle) in the same region. It means that you're protected not only from the host perspective, but also from a site/datacenter perspective.
Oracle Cloud Infrastructure is hosted in regions and availability domains. A region is a localized geographic area, and an availability domain is one or more data centers located within a region. A region is composed of several availability domains. Most Oracle Cloud Infrastructure resources are either region-specific, such as a virtual cloud network, or availability domain-specific, such as a compute instance.
How does it look like?
You can assign a group to the VM (or VM to the group) by going to the General TAB > Select the group in the Availability Group drop-down list.
So in my case, as you can see, I assign my JenkinsMaster VM to Availability Group 1 (AG1) and the other one called JenkingsSlave VM to Availability Group 2 (AG2). That's it. In case there is a failure on one of the underlying hosts, the other VM keep running.
Note: You must do that before you publish your application. Once the VM is published, you can't change the availability group.
If you don't care about availability groups the default setting will not separate those VMs to different hosts. It's as simple as that.
Once you made your changes, hit the publish button to publish your application.
The fact that you don't have to re-create your production environment from scratch is a good starting point. If your environment does not allow to shut down your VMs to export (Only powered OFF VMs can be exported via Ravello Import tool), you can first do a clone through vSphere web client and upload those cloned VMs to the cloud.
I had few questions via e-mail so I thought that it might be interesting to include them here.
There was a question which was targetting performance/cost. What are the benefits of Ravello on OCI vs Ravello on AWS/Google Cloud Platform?
Well, Ravello on OCI can run VMs with up to 32 vCPUs and has significant performance benefits (up to 14x) due to hardware acceleration and the ability to run directly on bare metal servers.
And few more directly from Ravello FAQ online:
What is the largest VM that I can deploy on Ravello on non-OCI regions today?
The largest VM that can be deployed on Ravello on non-OCI regions can have 8 vCPUs and 64 GB of memory.
Can I move an existing app running on a non-OCI region to an OCI region?
Yes, you can. You can save your app as a Blueprint. Then create an application from the saved blueprint and publish it in an OCI region.
Is there any price difference if I publish my app on an OCI region or on a non-OCI region?
No, there is no price difference between publishing apps on Ravello on OCI and Ravello on non-OCI.
For me, the offer now matured by providing a possibility to run really enterprise-class applications. To be honest, I haven't seen many VMs requiring more than 32 vCPU so the vertical scalability isn't really a problem.
I see quite a good opportunity here for enterprise admins which need a extra power but have no time to fiddle to transform their VMs for Azure or AWS workloads. Simple to try and use, Ravello service, in my opinion, is an easy entry point, which can scale horizontally or vertically.
Check our Ravello cloud service
If you are a vExpert, you can also sign up for a free Ravello lab service account here
More about Ravello from ESX Virtualization:
- Ravello Hardware Assisted Nested Virtualization And Bare-Metal Options For VMware VMs
- How To Create Multi-VM Application in Ravello
- How to Assign a Public IP Which Persists Across Reboots for Ravello VMs
- How to Hot-Clone a VM and upload to Ravello Cloud
As you can see, from start to finish it isn't difficult to get started.
More from ESX Virtualization
- Top 3 VM Replication Software for VMware vSphere Environments
- What to do when you have Duplicate MAC address within VMware vSphere Environment?
- Stratoscale Symphony Runs Natively Or On The Top of VMware vSphere
- What is VMware vSphere On-Disk Metadata Analyzer – VOMA