This concept of the virtual machine basically evolved to the point where the goal was to have all the applications running in the virtual machine — without having to copy all of the operating system too — into a small container that could run on another operating system. That's where the idea of containers came from. They’re basically a contained application that is intended to run lightweight on a platform that will run containers.
What makes containers so attractive is that you can potentially run containers on edge devices instead of needing to have server farms to run virtual machines.
AW: What are containers most often used for in industrial applications?
KM: You can get edge devices that are small industrial PCs that support containers. And a growing number of PLCs and PACs support containers as well. So, if a device says it supports containers, you can take applications that are delivered in containers and run them on those systems.
With Ignition, for example, we have a release where, instead of using an installer to place it in the operating system, you can just spin up the container on any device that supports containers and run it from there.
Essentially, containers are another way to run applications in a way that is self-contained from a security standpoint. Containers open up the possibility of running significant applications at the edge of the network where you might previously have needed a virtual machine, which requires additional hardware.
AW: DevOps is another topic like containerization that's been well known in IT circles for years and is now gaining interest in the operations space. So, what is DevOps from an OT perspective?
KM: To understand DevOps, think about when you're developing an application that’s going to be used on the plant floor or out in the field. Either way, you're going to go through a development cycle followed by deployment, which involves assessing the operations needed to get it packaged up in a way that it's going to be able to run well.