The Future of XCP-ng and Where Virtualization Is Headed
Vates sponsored this post
In Part 1 of this series, we looked at the past and present of the XCP-ng project, a turnkey open source hypervisor. In this post, we will look at its future and also discuss what more needs to be done in the field of virtualization.
At the technical level, XCP-ng is a virtualization platform — which means it’s a combination of a hypervisor (Xen Core) and an API (Xen API), on top of which you can add a management interface and a backup solution (Xen Orchestra). You could in fact call XCP-ng a “Xen distribution”, much like there is a “GNU Linux kernel” and many Linux distributions. XCP-ng is the one open source broad-purpose server virtualization platform based on Xen.
In a practical way, XCP-ng — much like its parent, Citrix XenServer — is a minimalist Linux distribution. It boots a kernel, which boots a special type of virtual machine called “Dom0”, hardware drivers — and all of that can of course be configured. This is really the base of the hypervisor. Once this is done, it is possible to create, manage and configure different virtual machines that will run on the hypervisor.
But that is not enough to make XCP-ng a modern and well-working hypervisor. Virtual machines need various tools to handle virtual networking (aka Software Defined Networking), proper hardware support, and (in the case of XCP-ng) proper support for modern secure boot technologies, filesystems and the ability to import and export virtual machines — among other things.
Some of these tools and capabilities actually lie outside of the hypervisor and the virtual machines. Vates’ first inroads in the field of virtualization were done a few years before the development of XCP-ng, with the development of Xen Orchestra. Xen Orchestra is a management and backup platform for Xen-based virtual machines and hypervisors. It handles the management and backup needs for XCP-ng; and for several years prior to the development of XCP-ng, it handled Citrix XenServer hypervisors as well. It continues to do so to this day.
A platform such as Xen Orchestra is needed for a broad range of uses: basic to complex backup scenarios, virtual machine migration and replication, management of entire pools of hypervisors and data centers, the initialization of cloud infrastructures.
This journey has taken us from the bare metal to the cloud, which is exactly what virtualization is about: the essential stack without which no cloud platform could run.
So Much to Do
We will discuss and revisit the following topics in other articles, but there’s so much more that is left to be done in the field of virtualization. Here are several areas where we’re working on improvements and where we can help move things forward.
First and foremost, the wise words of Larry Ellison shall be remembered often and clearly: it’s one thing to talk about the “Cloud,” but in reality, cloud infrastructures are ultimately made of servers, hardware, processors, wires, etc. This means that ultimately, the hardware still matters. In a sense, it matters as much today as it used to twenty years ago.
The virtualization industry has gotten rather conservative when it comes to hardware support. While one can find hypervisors supporting ARM processors, it is playing catchup with the latest hardware innovations — even in the x86 field. This needs to change, as requirements for security and performance are increasing. On this point, XCP-ng is receiving some important investment in security work — especially in securing the boot process (called secure boot), hardening the hypervisor and a technique called virtual machine introspection. We’ll cover that in a later article.
Beyond these types of improvements, porting Xen and XCP-ng to new, promising and yet still “exotic” architectures — such as RISC-V or OpenPOWER — is an important topic.
There’s also much to do when it comes to improving the Xen project and attracting new contributors. While rumors of its demise have been much exaggerated over the years — the Xen project is alive and well — it is no longer an exciting project. The good news is, several improvements can be brought to the project in terms of infrastructure and process.
Last but not least, this review would not be complete without addressing the elephant in the room: containers. Where virtualization stands with respect to containers needs a whole other article to explain. Suffice to say that containers do not imply the end of virtualization. As containers are managed on the application side, virtualization runs at the systems management and delivery level. As such, you mostly use containers and container management on top of a virtualized system. What kind of effect and what relation there is between virtualization and containers is, however, a fascinating subject, and much work remains to be done in that area too.
Virtualization remains essential as it delivers portability, security and elasticity for systems and is used as the key tool for systems delivery and management. Because of this a lot of exciting things are happening in that space. XCP-ng is a good example of a solution that aims to bring the benefits of portability, security and elasticity while lifting the adoption bottlenecks around virtualization. It is also one of the most actively developed hypervisor currently on the market. We will soon explore how virtualization and XCP-ng help tackle today’s and tomorrow’s infrastructure challenges in an efficient way.
Be that as it may, virtualization is a fascinating field and we hope we can help you discover more about how virtualization makes sense and helps solve today and tomorrow’s digital challenges!
Citrix and Linux Foundation are sponsors of The New Stack.
Feature image via Pixabay.