This post is to examine the benefits and drawbacks for running Blue Iris as a Virtual Machine. This might be something to consider for new installs.
Background about VMs. >90% of Enterprises and Government organizations use some level of virtualization. This is proven technology that has matured over the past 20 years and enables the Cloud and operates mission critical systems. A hypervisor is the host software that simulates instances of physical hardware for the guest virtual machines. There are many variations of hypervisors available. The most popular ones are vSphere (ESXi), KVM, and HyperV. They all have free versions.
Cons:
Pros:
Potential Arguments:
As an example, I run Blue Iris 5 on ESXi. I gave BI 2 vCPU and 8 GB RAM. My CPU usage is 15% and memory usage is 30%. 9 cameras (4-5MP, 2-4MP, 3-2MP). My ESXi machine is a 4-core@3.5GHz (no hyper threading) with Intel integrated GPU. The ESXi machine also hosts my son's minecraft/web server, pfSense, and VCSA. This machine consumes 3.73GHz of the available 14GHz (4 x 3.5 = 14). I have a few other VMs that I turn on when I need it for work but my CPU still stays under 60%.
Bottom line:
Background about VMs. >90% of Enterprises and Government organizations use some level of virtualization. This is proven technology that has matured over the past 20 years and enables the Cloud and operates mission critical systems. A hypervisor is the host software that simulates instances of physical hardware for the guest virtual machines. There are many variations of hypervisors available. The most popular ones are vSphere (ESXi), KVM, and HyperV. They all have free versions.
Cons:
- learning curve if you are not familiar with Virtual Machines
- hardware acceleration requires you to map the GPU to one VM. This means other VMs can't use the GPU (unless you have a Enterprise GPU which will let you map to many VMs).
- learning curve if you are not familiar with VLANs.
Pros:
- allows you to run other virtual machines alongside your Windows instance for Blue Iris. For example, pfSense and Plex and Windows and Linux.
- saves power, space, cooling, by not having multiple physical machines
- reduces environmental impact due to less power
- allows you to snapshot your Blue Iris instance. For example, let's say you want to upgrade Blue Iris but you are not sure about it. You can do a snapshot which captures the state of your VM. Then upgrade to the latest version of Blue Iris. If you have an issue, you can revert to your snapshot and it will be as if you never did the upgrade.
- zero downtime if you have two physical machines. If you have an environment with multiple VMs and more than two physical machines. You can vMotion your Blue Iris VM from one machine to the other on the fly. This is useful if you wanted to do maintenance on one of the physical machines (for example upgrading the hardware).
- can create up to 10 virtual NICs for your Blue Iris VM. Most only use two and you can map one to your Camera VLAN and one to your Home VLAN.
- can "service chain" other virtual machines to add services such as firewall, IDS/IPS, load balancing.
- can "export" or "save" or VM to a file and import it somewhere else. Good if you need to switch to a brand new server (with a different processor and motherboard). This is different from a backup which requires you to restore to a similar server.
Potential Arguments:
- a VM environment is not as stable. This is definitely not true because VMs have been proven time and time again in major Enterprises and the Government. Yes, it does require a level of understanding to set it up properly.
- a VM environment does not perform well. The CPUs today are built for vitualization. Both Intel and AMD have instruction sets for virtualization. Also, the hypervisor supports passthrough for hardware devices. When properly configured, a VM environment performs very well.
As an example, I run Blue Iris 5 on ESXi. I gave BI 2 vCPU and 8 GB RAM. My CPU usage is 15% and memory usage is 30%. 9 cameras (4-5MP, 2-4MP, 3-2MP). My ESXi machine is a 4-core@3.5GHz (no hyper threading) with Intel integrated GPU. The ESXi machine also hosts my son's minecraft/web server, pfSense, and VCSA. This machine consumes 3.73GHz of the available 14GHz (4 x 3.5 = 14). I have a few other VMs that I turn on when I need it for work but my CPU still stays under 60%.
Bottom line:
- stick to a non-VM environment if you have a BI system that you like. Don't change if it ain't broke.
- stick to a non-VM environment if you are not comfortable or don't have time or desire to invest in learning how to setup a virtual environment.
- stick to a non-VM environment if you don't need other machines (like pfSense or web server).