Hyper-converged infrastructure is a great technology for running a range of mixed workloads. With HCI how do you manage DR? Typically the standard solution might be to run up another cluster in a separate data centre and run both 50% active/active or have one purely for standby. What about running in the public cloud? With Scale Computing you can now use the Public Cloud as a DR location with the recent announcement of HC3 Cloud Unity.
At the same time Scale announced HC3 Cloud Unity, Google announced the availability of nested virtualisation within Google Cloud Platform. Nested virtualisation enables running virtual machines inside a GCP compute instance by running a hypervisor in the VM. So now you have a physical server running a hypervisor (KVM) supporting Compute Engine, with a VM again running a hypervisor supporting application workload. The benefit of running a VM in a VM is the ease at which applications can be deployed simply by copying or replicating virtual disks to GCP.
Nested virtualisation isn’t new for public cloud. Microsoft announced the feature earlier this year for Azure, which implements multiple levels of Hyper-V. Ravello has enabled nested ESXi on AWS EC2 for a few years and anyone running a vSphere home lab will have looked at nested virtualisation at some stage. So Google is catching up here.
What about negatives? The most obvious issue will be that of performance. Google’s documentation states that customers shoule expect at least a 10% penalty for CPU-bound workloads and more for I/O bound ones. This is quite an overhead that translates directly into additional cost. However this has to be taken into consideration against the cost of running a dedicated second set of DR hardware that may be very infrequently used. Google also have other restrictions, such as support only for certain Intel chipsets (Haswell processors or later) and no support for VM-based hypervisors other than KVM. Note that doesn’t mean that other hypervisors won’t work or won’t be supported in the future. I expect support won’t be just a technical challenge, but a decision for Google to make in terms of competition.
HC3 Cloud Unity is effectively the HC3 operating system for on-premises Scale Computing clusters, but deployed on GCP. I’ve been running a small HC3 cluster for some time (see link) and have found the solution rock solid and easy to use. Most recently, Scale has released all-flash nodes and some performance figures using NVMe drives (link). Now, running hyper-converged software in the cloud is a challenge, but doesn’t represent the biggest challenge for the customer, which is to get workloads in/out of the public cloud.
Real cloud-bursting is still a rare beast. Even the recently announced VMware Cloud on AWS only provides cold migrations. There are two issues here – data and networking. Replicating data into the cloud relies on shipping an entire application, then keeping it up to date with deltas (unless you’re using something like Velostrata). Networking is a problem because replicated VMs either need to sit on the same subnet or have their networking changed dynamically during migration. Scale solves the networking issue by extending the local network across layer 2, making the remote VMs appear on the local LAN. Stretching layer 2 isn’t everyone’s cup of tea, but works for smaller SMB/SMEs that Scale targets. Obviously if the live site goes away completely, some services need to be built in the cloud to cover default gateways, DHCP, DNS etc.
The Data Problem
The second problem with cloud bursting is data. Typically, IT organisations don’t stretch their data environments between on/off-premises. Although, a layer-2 for data would be nice. In Cloud Unity, data is replicated into the cloud through snapshots that can be as low as per-minute (although that may be a little aggressive). HC3 uses SCRIBE, a custom distributed storage layer that provides data resiliency across mulitple server nodes. SCRIBE is implemented in Cloud Unity to provide the same level of resilience as can be expected onsite. Data replication allows either a crash-consistent copy or a clean copy (if the VM is shut down first). Native replication allows VMs to be moved to and from the cloud with the minimal amount of data transfer.
HC3 Cloud Unity is intended to replace Scale’s existing DR solution. Customers can sign up directly with Scale and don’t need to pay Google. A monthly subscription starts at around $1,000 per month (5TB). This provides a full DR as a service subscription and up to 12 days of active VM testing. Alternatively, options are available to implement “always on” modes of operation. These two offerings are “passive” and “active” mode. Cloud Unity is available today for beta testing and fully available later in the year.
Scale Computing at TFD15
If you want to see more details of Cloud Unity, check out the videos at Tech Field Day 15, which covers background on the company, details of the NVMe testing and how Cloud Unity is implemented.
The Architect’s View
Nested virtualisation is one way of solving the issue of running encapsulated applications in public cloud. By encapsulated, I mean applications that are intrinsically part of a virtual machine. See this recent post of mine on VM shipping (link). The cost of operational ease here is in additional hardware resources. Contrast this to VMware Cloud On AWS that runs natively on AWS hardware. Although the VMware Cloud solution is probably more efficient, it isn’t as operationally easy. It’s also fairly certain that costs are way more expensive for VMware, as a minimum cluster of four physical nodes has to be dedicated to the customer.
Here’s where Scale Computing yet again scores points for simplicity. Customers are typically SME/SMB and want a low cost solution for DR. They may also eventually want to implement hybrid cloud. Cloud Unity let’s them do this at a very low entry point, but with future promise of a more dynamic hybrid solution. I’m looking forward to trying out Cloud Unity on my cluster and seeing just how easy it really is.
- Introducing nested virtualization for Google Compute Engine (GCP Blog, retrieved 2 October 2017)
- Scale Computing Collaborates with Google Cloud to Remove Barriers to Cloud Computing with Hybrid Cloud Mobility (Scale Computing Press Release, retrieved 2 October 2017)
- Nested Virtualization in Azure (Azure Blog, retrieved 2 October 2017)
- Non-dummies guide to nested ESXi lab on Ravello (Oracle Blog, retrieved 2 October 2017)
- Enabling Nested Virtualization for VM Instances (Google Cloud Platform documentation, retrieved 2 October 2017)
- Long Term Evaluation: Scale Computing HC3
- Scale Computing Moves Deeper Into The Enterprise With All-Flash HCI Nodes
- Scale Computing Announces Hyperconvergence with NVMe for Unprecedented Performance (Scale Computing Press Release, retrieved 2 October 2017)
- VMware Cloud on AWS – What We Know So Far
Comments are always welcome; please read our Comments Policy. If you have any related links of interest, please feel free to add them as a comment for consideration.
Copyright (c) 2009-2017 – Post #E512 – Chris M Evans, first published on https://blog.architecting.it, do not reproduce without permission.