Have you ever wished you could launch virtual machines (VMs) on top of bare-metal servers as easily as you can deploy VMs in the public cloud? And that you didn't have to install a complex set of underlying orchestration and virtualization technologies to do so?
Thanks to Harvester from Rancher, you can. Harvester makes it is possible to build an environment where VM deployment is as simple as in the public cloud, without the hassle of a complex setup and management process.
Keep reading for a look at how Harvester works, how it compares to similar solutions (like OpenStack), and why you may or may not want to take advantage of Harvester to help power virtualized infrastructure.
- What Is Rancher Harvester?
- How Does Harvester Work?
- Benefits of Harvester
- Harvester vs. OpenStack
- Harvester vs. Kubernetes
SUSE![Harvester logo](/sites/itprotoday.com/files/Harvester-logo.png)
![Harvester logo](/sites/itprotoday.com/files/Harvester-logo.png)
What Is Rancher Harvester?
Harvester is an open source tool for deploying virtual machines and distributed storage on top of bare-metal servers. It was developed by Rancher, a Kubernetes vendor now owned by SUSE, and released in 2021.
With Harvester, users can choose the virtual CPUs and memory they want to assign to a VM, select an image to provision it with, and then deploy it in a few clicks. The experience is pretty similar to the one you get when launching VMs using a public cloud infrastructure-as-a-service (IaaS) service like Amazon EC2.
![Harvester dashboard](/sites/itprotoday.com/files/Harvester.png)
However, the crucial difference between Harvester and public cloud IaaS is that Harvester runs on private infrastructure. Think of it as a private cloud equivalent of EC2.
How Does Harvester Work?
Harvester works in a fairly straightforward way: First, admins install Harvester on bare-metal servers using an ISO image. You can operate Harvester on just one server, but in production environments, it's common to create a cluster of bare-metal servers to host Harvester so that if one server fails Harvester will keep running.
Once installed on servers, Harvester provides a Linux-based operating system to manage the servers. It also provides a hypervisor (based on KubeVirt, an open source tool for running VMs using a cloud-native approach) for operating VMs and a distributed block storage system based on Longhorn.
Users can deploy and manage Harvester VMs using a web interface, an API, or a command-line interface (CLI) tool.
Benefits of Harvester
Harvester offers several benefits compared with other types of IaaS solutions:
- Control: Because you can deploy Harvester on private servers, you retain complete control over how your infrastructure and networks are configured. You don't get this level of flexibility in the public cloud.
- Cost savings: Harvester is open source and free of cost, so there are no service or licensing fees to pay. The only expense is whatever you pay for the private servers that host Harvester.
- Simple deployment: Harvester's ISO-based approach to installation makes for a fast and straightforward installation process. That's a big advantage over platforms like OpenStack, which are notoriously difficult to set up. (To be fair, OpenStack installation has arguably gotten easier over the years, but it's still a lot more complicated than booting to an ISO and running an installer, as you can do with Harvester.)
In short, Harvester provides more control and a greater potential for cost savings than public cloud IaaS services. At the same time, it's a simpler solution than private cloud platforms like OpenStack.
Harvester vs. OpenStack
We mention OpenStack because it's the main open source alternative to Harvester. Like Harvester, OpenStack also lets you deploy VMs on top of private bare-metal servers. The end-user experience is similar with both solutions.
Under the hood, however, OpenStack and Harvester work in very different ways. Harvester relies on cloud-native technologies, such as KubeVirt and Kubernetes, to manage VMs and the resources they depend on. OpenStack uses homegrown services for this purpose. On the whole, Harvester's stack is leaner and integrates more seamlessly with other cloud-native tools or software.
On the other hand, OpenStack provides more configuration and customization options than Harvester. If you have truly complex or bespoke private cloud needs — if, for example, you want to do things like deploy network functions on top of a private cloud, which requires fine-tuned network controls that you'll probably struggle to implement in Harvester — OpenStack is a better choice.
But if you just want to give your teams a simple way to deploy VMs on demand using your organization's private cloud infrastructure, Harvester is the simplest way to do so.
Harvester vs. Kubernetes
It's worth noting, too, that Harvester is distinct from Kubernetes. The purpose of Harvester is to deploy VMs, whereas the purpose of Kubernetes is to deploy containerized applications. Harvester depends on Kubernetes, among other tools, for orchestration, but that doesn't mean that Harvester and Kubernetes have overlapping functionality.
So, if you only want to deploy containers, use Kubernetes. If you want to run VMs on a private cloud, consider Rancher.
Conclusion
Harvester doesn't offer any fundamentally new functionality. It was possible to deploy VMs on private clouds using open source software prior to the advent of Harvester. But Harvester does make this process simpler than other options — at the expense of providing somewhat less flexibility.
About the author
![Christopher Tozzi headshot](/sites/itprotoday.com/files/christophertozzi_191.jpg)