Proxmox Virtual Environment and OpenStack are following the same goal: Making it easier for people to virtualize their data center IT infrastructure. But is OpenStack really a Proxmox alternative?

Structure

Proxmox is based on Debian 9/10. And it uses its own kernel. OpenStack on the other hand is often deployed in Ubuntu, RHEL or CentOS. It has no own Kernel. Lets talk about modules. These are different OpenStack components that are required. Cinder for example is for Block storage and Nova is for the compute service. Proxmox doesn’t have that. Thay may be the first advantage in using OpenStack.

Complexibility

Proxmox has its own installer. It guides you through the simple installation process. After that, you can boot right into the OS and start managing your infrastructure via the Proxmox Web GUI. For OpenStack, there are a few ways to deploy a AIO(All in one) development environment. Canonical has developed Ubuntu MaaS(Metal as a Service) which allows you to deploy an production ready OpenStack environment. Packstack is a tool for deploying OpenStack on a physical host. And there is also OpenStack Ansible which runs all OpenStack services in LXC containers. For those of you that are interested in this, OVH is using Ansible to deploy their OpenStack cloud.

Bugs and errors

Proxmox has a pretty big community and a forum where you can ask questions or report bugs. OpenStack’s community is even bigger and they also have got a forum. But the errors that OpenStack throws at you are sometimes pretty hard to understand. And because OpenStack has so many components, sometimes one component is the cause of a complete failure.

Features

OpenStack’s components are: Nova, Cinder, Glance, Ironic, Neutron, Swift, Keystone, Horizon and many more.

Nova: Compute services that supports KVM, XEN and LXC virtualization. Cinder: Block storage service that enables attaching volumes to virtual machines. It supports multiple file systems like LVM, RBD Pools(Ceph). Glance: Image service that allows users to upload OS images for automatic deployment with CloudInit. Ironic: Automatic Bare metal server deployment. Neutron: Networking service and Load Balancer (LBaaS) Swift: Object storage service Keystone: Authentication service Horizon: Web UI for managing the OpenStack Cloud

Proxmox supports KVM and LXC virtualization with multiple file systems like LVM, RBD Pools(Ceph). It lets you create a cluster of multiple nodes. This is of course also possible in OpenStack. Live migration is a feature in both OpenStack and Proxmox. In Proxmox, you can create users and assign specific permissions to them.

API

Both Proxmox and OpenStack have a big API that lets you manage everything from creating a server to adding more storage to it. However, the Proxmox API has features like CPU usage history, memory usage history and network usage history. The OpenStack API does not provide this by default.

So can we say that we have a clear winner? No. In the end, it’s up to you or your company what you want to use.

If you want to scale your IT infrastructure fast, then use OpenStack. If you just want to have a few virtual machines running, use Proxmox.

Thank you for reading this article.

If you want to know more about Proxmox: https://proxmox.com/en/

If you want to know more about OpenStack: https://www.openstack.org/