By Ranjan Sikand, Wind River Intern
Virtual machines and containers have been well-accepted by enterprise IT, but they are now moving into non-IT areas, such as industrial IoT edge devices. Both are tools that developers and system management use to take separate single applications or systems and consolidate multiple applications on to a single compute platform or server to optimize compute resources and save IT/OT costs. Each of these technologies provides different types of flexibility and agility expanding the field of capabilities and increasing productivity. Virtual machines, for example, are emulators run on top of existing physical hardware. They operate like a hypothetical computer, allowing you to set up an entirely new operating system and graphical interface within your own system. They can run software and test programs in a safely partitioned sandbox environment. This way, users are not limited by the confines of their operating system. However, they are often resource-intensive, as the OS-image can often be many gigabytes on its own, and as such they do not make sense for all applications.
Containers are an alternative that provide a similar level of versatility without the same level of investment. Now, systems like Docker allow developers to easily bundle applications, libraries, configuration files, and other utilities into an easily portable package; this increases the realm of possibilities for software developers, as they can move from one environment to another without needing to be redeveloped. They allow you to isolate Linux kernels so that multiple applications can be consolidated into a single machine, rather than operating in multiple hardware systems. Relative to virtual machines, the requirements on the system are lower, allowing many containers to operate in the same space. For example, if you wanted to run 1000 1-GB virtual machines, you would need to allocate 1000 GB. To set up 1000 containers, you would need as little as 1 GB, assuming they all operated on the same kernel image.
This article, Crunching Enterprise Containers for Industrial IoT, from insight.tech, expounds upon containers, and goes into detail about the benefits of using a container system in conjunction with virtualization platforms.