Comparing Open Source Virtualization Platforms

More and more, businesses and companies are seeking to repatriate services and infrastructure from the cloud to on-premise or hybrid solutions. This might be for a variety of reasons. Whether repatriating is for cost savings, performance, security, control, or other reasons, it is happening. Increasingly, companies are turning to open source solutions when repatriating services and data.

One of the ways companies are repatriating is by building their own virtualization solutions on-premise or within their own data centers. Whether you call them virtualization management platforms, virtualization orchestration platforms, or something else, this article will compare some of the prominent open source software that businesses are using to build their own virtualization solutions.

LINBIT® develops open source storage integrations for each of the platforms that this article explores so that is why you are reading this article on the LINBIT blog. LINBIT open source integrations can help enhance storage offerings within these platforms and give you benefits such as high availability, disaster recovery, and software-defined storage. At LINBIT, our team recognizes that there are different solutions out there and that the variety of offerings is not simply for competitive reasons. Different platforms cater to different uses and niches within the broader field of virtualization and hypervisor management operations.

In this article, I will try to take an even-handed and agnostic perspective. LINBIT has collaborated with all the platforms in this article but our first allegiance is with your data. The purpose of this article is not to recommend one platform over another but to give you an easily digestible summary of highlights and characteristics for each platform. Hopefully this helps you explore the different offerings more confidently and helps you focus in more quickly on a solution that might best fit your requirements.

Because this article will only compare virtualization management platforms that LINBIT software directly integrates with, this is not a complete picture of the landscape of offerings. You might want to also explore other platforms besides the ones in this article. Even so, the comparison chart and description of platform characteristics can help you prepare to evaluate other choices. Also, even if there is not a direct integration between LINBIT software and the platform you eventually decide to use, you might still be able to incorporate LINBIT software into your solution, for software-defined storage, high availability, or disaster recovery purposes. For example, the open source LINSTOR Gateway software can help you easily create highly available NFS, iSCSI, or NVMe-oF datastores that you might be able to use, even if no direct LINBIT integration with your chosen platform exists.

Open Source Virtualization Management Platforms

The next sections describe four prominent open source platforms for managing virtualization services. These platforms are: Apache CloudStack, OpenNebula, Proxmox VE, and Xen Orchestra. Later sections will describe platform characteristics that you can use to help evaluate your choices, along with a comparison table that shows how the four platforms measure up. Each platform was evaluated for the listed characteristics by using the platform’s documentation and real-world deployment experiences.

Apache CloudStack

Apache CloudStack is an open source “software system designed to deploy and manage large networks of virtual machines (VMs), as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.”1 CloudStack has a vast number of configuration and deployment possibilities, due to its concepts of regions, zones, pods, and clusters. CloudStack is almost certainly the most complex virtualization management platform described in this article. The LINBIT team is testing an easy way to deploy Cloudstack, read about it here.

Not only might CloudStack have the most demands on infrastructure due to its deployment scope, it might demand more personnel resources to understand, configure, and maintain it. That said, it can be a great platform for a large organization, such as a public cloud provider. CloudStack can scale massively. Having tens of thousands of nodes across different geographical regions, all under the same management platform, is possible with CloudStack.2

OpenNebula

OpenNebula, according to its website, “combines virtualization and container technologies with multi-tenancy, automatic provisioning and elasticity to offer on-demand applications and services.”3 OpenNebula is also highly scalable, though possibly not to the extent of CloudStack. According to OpenNebula documentation: “The general recommendation is to have no more than 2,500 servers and 10,000 VMs managed by a single instance. [To] grow the size of your cloud beyond these limits, you can horizontally scale your cloud by adding new OpenNebula zones within a federated deployment. The largest OpenNebula deployment consists of 16 data centers and 300,000 cores.”4

One of OpenNebula’s features is its ability to integrate with other systems. To do this, OpenNebula has a way for systems administrators to deploy hooks. A hook can contain a command or script that you can configure to run on various events or actions, such as API calls. For example, you could configure a hook that when a VM is created, its hostname automatically registers with a DNS server.

OpenNebula’s flexibility to integrate with other systems, and its high scalability, make the platform a good fit for a medium to large organization seeking to build a private cloud.

Proxmox VE

Proxmox VE is hyperconverged infrastructure software based on Debian Linux. According to its website, Proxmox VE is an open source “server management platform for enterprise virtualization.”5 Proxmox VE is limited to the KVM hypervisor and Linux Containers (LXC). This allows Proxmox VE users to run containerized applications alongside traditional VMs without further configuration.

Proxmox VE does not scale as well as the other platforms described in this article. Even implementing a Proxmox VE stretched cluster is something that cannot readily be done. With these limitations accounted for, Proxmox VE is easy to install, set up, and learn. Proxmox VE is a great match for small installations or home labs and is widely used in these environments.

Xen Orchestra

Xen Orchestra (XO) is an open source platform that allows you to “visualize, manage, backup and delegate your XCP-ng (or XenServer) infrastructure.”6 XCP-ng stands for “Xen Cloud Platform – next generation” and it began as a fork of the Linux Foundation’s Xen Project. You can scale recent versions of an XO deployment to thousands of VMs. XO scalability is not to the level of a CloudStack or OpenNebula deployment perhaps, but it is certainly beyond the realm of a home lab and covers the deployment potential a small or medium sized organization might want. Because XO was built around using XCP-ng as a hypervisor, it is a great open source management platform for organizations migrating from Citrix XenServer or VMware deployments.

Evaluating Different Virtualization Platforms

To evaluate different virtualization platforms, this article uses a list of characteristics. While not an exhaustive list of characteristics, the focus is on the obvious ones on which you will likely base a preliminary evaluation of your choices. These characteristics are:

Hypervisor support

There are different hypervisors, such as KVM, Xen, VMware ESXi, and others. Which ones does a given platform support? It does not make sense to choose a platform if the platform does not support your virtualization requirements.

Support for running multiple hypervisors

Can you run multiple hypervisor providers at the same time within the platform?

Container support

Does the platform support running containers besides running virtual machines (VMs)?

Storage system support

Just as there are different hypervisor providers, there are different storage types, such as block, file, and object, and different ways to provide storage, such as SAN, NAS, SDS, and others.

Scalability

This might seem like an impenetrable buzzword but at least in the context of this comparison article, it just means, “How easily can you add more nodes within the platform?”

Management interface type

How does an administrator interface with the platform? Is there a GUI or CLI option, or both?

API support for automations and integrations

Does the platform have an API that you can use, for example, if you need to “travel off-road” and build tools that might be specific to your requirements for tasks that you cannot do readily with the platform’s own interface?

Platform support options

Bringing things back from the cloud does not necessarily mean that you also need to support your choice of platform in-house. What are the support options for a given platform? Community forums? Paid support options?

Maintained and has longevity

How long has the platform been around? Are there regular updates or security patches?

Integration with other systems or platforms

Can you integrate the platform with other platforms or solutions, for example, software-defined storage or networking solutions, or other or virtualization platforms if you need a hybrid environment?

Backup and recovery capabilities

Does the platform have backup and recovery capabilities?

Comparing Open Source Virtualization Management Platforms

The following table lists characteristics and shows how different virtualization management platforms measure up.

CloudStackOpenNebulaProxmox VEXen Orchestra
Hypervisor support
   Hyper-V
   KVM
   VMware
   Xen/XCP-ng
Can run multiple 
hypervisors
Container support
   Docker VM
   Kubernetes
   LXC
Storage system 
support
   GlusterFS
   iSCSI
   Local storage
   LVM group
   NFS
   SMB/CIFS
   ZFS
   Third-party storage
   LINSTOR/DRBD
Scalability
Management interfaceGUI & CLIGUI & CLIGUI & CLIGUI & CLI
API
Support optionspaid (third-party) & communitypaid & communitypaid & communitypaid & community
Maintained and has longevity
Integrations
Backup and recoverypluginsintegratedintegrated & pluginsintegrated & plugins

Conclusion

Hopefully this article gives you a starting point for comparing different open source virtualization and hypervisor management platforms.

To summarize each platform and what might be its ideal use case:

  • Apache CloudStack: Best suited for large scale deployments such as those spanning multiple zones or regions. A business that provides VPS services comes to mind.
  • Open Nebula: Well suited for medium to large scale deployments. Flexibility and customization possibilities make it a good choice for an organization deploying a private cloud.
  • Proxmox VE: Well suited for smaller organizations and home labs that want a platform for managing KVM or LXC virtualization. Proxmox VE is very popular because it is easy to install, set up, and has a quick learning curve.
  • Xen Orchestra: A great fit for small to medium sized organizations looking for an alternative to Citrix or VMware platforms for managing XCP-ng or XenServer virtualization.

You can watch LINBIT CEO and DRBD creator, Philipp Reisner, succinctly summarize each of these platforms during a LINBIT-hosted community meeting that brought together technology leaders and experts in the virtualization management field.

If you noticed something inaccurate or missing from this article, perhaps a comparison characteristic that is important to you, or if you want help navigating your choices to find a solution that best meets your requirements, contact us.

Resources

To help you explore these platforms more, here are some further resources.

Apache CloudStack

OpenNebula

Proxmox VE

Xen Orchestra for XCP-ng and Xen Server

đź“ť NOTE: XOSTOR is the Vates-developed SDS storage integration for XCP-ng, built by using the LINSTOR® API.

LINBIT Open Source Software

While not a complete list, the following are some links to LINBIT open source software that you can use either integrated with, or alongside your chosen platform:

  • DRBD®, high-performance data replication technology that you can use as part of an HA solution.
  • LINSTOR, a software-defined storage management system, typically used for managing DRBD resources, especially a large number of them.
  • LINSTOR Gateway, a tool that you can use with DRBD, LINSTOR, and DRBD Reactor, to easily create highly available iSCSI or NVMe-oF targets, or NFS exports.
  • DRBD Reactor, software that monitors and reacts to DRBD events. One of the most popular uses for DRBD Reactor is as a cluster resource manager (CRM) that is easier to configure and deploy than Pacemaker.

If you want to evaluate LINBIT software using the convenience of prebuilt packages, rather than building from source code, contact the LINBIT team.


https://xen-orchestra.com/docs/↩︎

https://cloudstack.apache.org/↩︎

https://www.shapeblue.com/apache-cloudstack-use-cases/↩︎

https://opennebula.io/multi-cloud/↩︎

https://docs.opennebula.io/6.9/installation_and_configuration/large-scale_deployment/scalability.html↩︎

https://www.proxmox.com/en/proxmox-virtual-environment/overview↩︎

Michael Troutman

Michael Troutman

Michael Troutman has an extensive background working in systems administration, networking, and technical support, and has worked with Linux since the early 2000s. Michael's interest in writing goes back to an avid reading filled childhood. Somewhere he still has the rejection letter from a publisher for a choose-your-own-adventure style novella, set in the world of a then popular science fiction role-playing game, cowritten with his grandmother (a romance novelist and travel writer) when at the tender age of 10. In the spirit of the open source community in which LINBIT thrives, Michael works as a Documentation Specialist to help LINBIT document its software and its many uses so that it may be widely understood and used.

Talk to us

LINBIT is committed to protecting and respecting your privacy, and we’ll only use your personal information to administer your account and to provide the products and services you requested from us. From time to time, we would like to contact you about our products and services, as well as other content that may be of interest to you. If you consent to us contacting you for this purpose, please tick above to say how you would like us to contact you.

You can unsubscribe from these communications at any time. For more information on how to unsubscribe, our privacy practices, and how we are committed to protecting and respecting your privacy, please review our Privacy Policy.

By clicking submit below, you consent to allow LINBIT to store and process the personal information submitted above to provide you the content requested.

Talk to us

LINBIT is committed to protecting and respecting your privacy, and we’ll only use your personal information to administer your account and to provide the products and services you requested from us. From time to time, we would like to contact you about our products and services, as well as other content that may be of interest to you. If you consent to us contacting you for this purpose, please tick above to say how you would like us to contact you.

You can unsubscribe from these communications at any time. For more information on how to unsubscribe, our privacy practices, and how we are committed to protecting and respecting your privacy, please review our Privacy Policy.

By clicking submit below, you consent to allow LINBIT to store and process the personal information submitted above to provide you the content requested.