A virtual machine (VM) is essentially a software implementation of a machine (i.e., a computer) that runs in a virtual environment and executes programs like a physical machine. The processor and hardware are shared between the machine and the VM. The concept was originally designed to help programmers who wanted the flexibility to be able to run several different operating systems on a single machine instead of having to purchase several machines. This helped cut down on initial hardware costs and upkeep.
Industrial users are adopting the idea and loading VMs onto machines in a server/client environment. Unfortunately, this has created a nightmare scenario for software manufacturers that are now forced to rethink and be creative on how to handle the licensing issues. In the past, licenses were basically purchased for each machine. These days, one server machine may house several different VMs and all of their software. Manufacturers are developing various techniques to try to track the number of VMs that are loaded on a system and how their software is deployed. New licensing techniques will evolve, I’m sure!
From a system integration perspective, I see several ways that VMs can make our lives easier. For instance, our job requires us to have many different manufacturers’ programming software packages loaded on a PC at once. The use of VMs is a great concept in this application. It also makes it possible to load different versions of software on different virtual machines without having to install and uninstall software for each project, which we all know can wreak havoc on an operating system.
I recently witnessed the implementation of a server/client VM application in a manufacturing facility. The VM clients were loaded onto iPads and enabled engineers and operators to walk around wirelessly and monitor their processes and make changes.
Backup and restoration of a VM is also convenient. The VMs can be copied to a backup medium and if a crash of the VM occurs, the files can be reloaded onto the host machine, and the system can be up and running with minimal downtime. This is much faster than reinstalling the OS and all the software on the host machine. There is basically no need for drive images, except for the host machine, of course.
These are just a few applications where VMs are changing our worlds. What other applications have you seen or do you see the need for virtualization?
This post was written by Art Howell. Art is a Senior Engineer at MAVERICK Technologies, a leading system integrator providing industrial automation, strategic manufacturing, and enterprise integration services in the manufacturing and process industries. MAVERICK delivers expertise and consulting in a wide variety of areas including industrial automation controls, distributed control systems, manufacturing execution systems, operational strategy, and business process optimization. The company provides a full range of automation and controls services – ranging from industrial cyber security to HMI systems design and remote facility management. Additionally MAVERICK offers industrial and technical staffing services, placing on-site automation, instrumentation and controls engineers.