Welcome to our new series regarding virtualization and Edge computing! We'll start with a primer on what edge computing is really about, and how XCP-ng and Xen Orchestra could bring a lot of benefits in that field.
What's Edge computing?
It's really hard to sum it up in few words. There are also multiple definitions of edge computing. But in short, there are 2 "big" parts in this world:
- The "new" world of Edge computing, with new use cases emerging through the addition of more compute power to processed data directly "on site" (where the data is produced). Example: adding new sensors in a farm to monitor all details on your cattle (weather, milk production, health etc.). There's so many "new" data produced, you can't just send that to a "centralized" infrastructure inside the Datacenter or the Cloud. So you need to start processing this data earlier, and maybe send some consolidated results elsewhere.
- The existing world, where edge computing definition can apply on currently working use cases. For example, local branches of a bigger entity, working with local compute power to run some applications. What's fun with this: it's already there, and the term "edge computing" was coined only after the real use cases were already up and running!
Why should virtualization be used for Edge computing?
At the end of the day, edge computing really means "on field computing": Regardless of the definition you use, the compute unit is running outside a fully controlled environment with physical access (too easy or too difficult to get to the hardware), dust, vibrations, temperature and weather (humidity for example), etc. Those problems will point you to:
- A secure platform (against physical modification, interception): this means a complete platform trust ideally.
- Something flexible so you can replace it with the less downtime as possible (or that can fix itself as possible): this means an abstraction layer!
- A reliable platform with a mature stack (less maintenance) on the software side, and ideally no moving parts (spinning disks, fans) on the hardware side.
Those 3 problems can be partly solved by virtualization. In fact, they can completely be solved by a virtualization platform. Not just an hypervisor (like Xen or KVM), but a complete stack: hypervisor, tooling, API, high-availability, management, backup, replication etc.
That's why we'll highlight how XCP-ng and Xen Orchestra can be the essential and relevant tool in your edge computing use case.
XCP-ng and Xen Orchestra in the Edge
Without really noticing it, we already use XCP-ng and XO in the Edge. But also some customers or users: they have small compute servers in some remote places (small regional offices for example) with our stack on it.
So why it makes sense? Well, because XCP-ng/XO stack is:
- Trivial to install deploy, on almost any x86 stack. From cheap mini PCs (powered by Intel or AMD CPUs) to more classical towers or rack. Even some dedicated "Edge" machines from Dell or HPE. It just works out-of-the-box!
- Secure, running Xen and good isolation between guests, with security patches delivered quickly. There's also a lot of work currently done here at Vates to even improve the platform security beyond that.
- Flexible, you can use XO API (or XAPI directly) to "inject" new virtual machines, remove older ones, etc. You have a complete control on virtual machines and their environment. A VM is compromised? Just remove and re-deploy it!
- Reliable, because you can use Xen Orchestra to manage it and make backups, or even have multiple units to get a high-availibility, regardless the content of the VMs. Or replicate the VM to another unit in another place for even more resiliency.
- Working at scale, because you can have thousands of machines in different places, and manage them from one Xen Orchestra console!
In the next episode, we'll see a real demo of XCP-ng and XO running in an edge-computing case, with real pieces of hardware. Stay tuned for episode #1!
Discuss directly on our forum here.
Photo on blog header: "Le Charmant Som" (Chartreuse) by Nonauk