VMware Part 1
As a former IT Professional now in the Automation/OT world, I have been using some form of VMware since about 2007 – be it VMware Workstation or VMware ESX/ESXi hypervisors.
Back then, there was then some resistance to the concept of virtualization – a real ‘no replacement for displacement’ kind of attitude towards computing. There was some kind of belief that the power of a single server should be dedicated to running just that one single server. The initial buy-in was paltry at best and only very non-mission critical servers were virtualized.
Over time, the value, speed, reliability, and efficiency (not to mention a shrinking IT budget) pushed virtualization to the forefront in our Data Center. I found myself almost daily performing physical to virtual (P2V) migrations and decommissioning server after server until our racks were almost empty.
Now, to think of any data center NOT using virtualization is simply baffling – between the possibilities of shared storage, virtual switching, and high-availability clusters, it’s become so ubiquitous that it’s more unusual for folks to be using a dedicated piece of server hardware running a single OS.
So, how does that relate to users in the industrial space? What is virtualization and what are the implications for an automation engineer?
Think of virtualization as running hardware as software. Conceptually, that can tie your brain in knots, I know – but at the core, what are you doing on a computer? You’re running software, and the platform upon which you do it is really kind of irrelevant. If someone could produce the same experience in a format that is completely portable, modifiable, and can run on nearly any piece of hardware, wouldn’t you want it?
We’ll talk about virtualizing plant servers in another blog, but what you’re probably here to read about is how it could help you as an engineer every day. Well, have you ever gone through the trouble of installing a whole mess of very specialized, specific software, getting the updates just right, activating the license, gotten it all set up the way you need to only to have it fail?
- How about… you have a ton of different versions of firmware for your PLCs out there, but version x is not compatible with the new software or vice versa?
- What about… you have some legacy software running on some long -obsolete computer hardware but it’s so integral to your operations that it cannot be changed or updated because the software is not supported on a newer Operating System (OS); and worse yet, it’s been chugging away for 10 years, well out of maintenance, and it’s definitely on its last legs?
What virtualization allows is for you to work around all of these scenarios with great ease. Your workstation – whether it’s a desktop, laptop, whatever… runs what’s known as a ‘hypervisor’. This is the platform on which any standardized virtual machine (VM) runs. The VMs themselves run what’s called a ‘Guest OS’ and creates an ‘instance’ of an Operating System environment running on top of whatever OS your host machine (say, Windows 7) is running. That VM is just a single folder on your computer.
This means that you could create a VM of the current state of your computer and have it sit for later transfer, if anything happened to your local computer – hard drive died, it got dropped, someone spilled coffee on it... Just transfer the VM and start running it, and it’ll boot up as though nothing happened.
You could feasibly have multiple VMs, each with a different version of the software for devices you may need to support – various PLC firmware that cannot be updated for either downtime or validation reasons, for example, and keep them around just to work with those specific machines without altering your local machine.
Best of all, in the case of a legacy machine running the old obsolete software on the machine that could die at any moment, you could feasibly virtualize that machine and transfer the file to a brand-new computer and allow it to run in VMware, problem solved.
That’s the beauty of virtualization – each VM is a unique ‘computer’ that is recognized as such by whatever systems might be looking at it, regardless of the fact that it’s actually running on your laptop, or on that workstation on your desk, or on a server somewhere.
I’ve noticed the same kind of resistance that I did 10 years or so ago in the IT world as I do now looking at automation and OT systems and I see a similar minimal buy-in… but over time, the people that started using it immediately recognized the value and like me, couldn’t imagine not using it.
What do you think? What is your best or most daunting application for it? Send me a note – firstname.lastname@example.org