Isolating Applications by using Containers & Docker


Isolating Applications by using Containers & Docker

With our latest hardware you can create safe and efficient solutions to deliver operator support tools within your HMI solution.

Our multifunctional displays and onboard computing products can provide complete HMI solutions. Often these solutions integrate a number of applications in order to deliver the necessary functionality, for example combining instrumentation, process control, video monitoring, data logging and guidance applications into one integrated HMI system. Our platform also supports the integration of legacy and 3rd party applications and programs to help OEMs and system suppliers offer the most compelling products in the market.

In some cases, system designers want to isolate applications in order to enable a consistent environment, manage updates or restrict an application access. This can also be done by deploying a virtual machine for each application that needs to be isolated. But virtual machines can quickly consume system resources, particularly on the leaner on-board computing solutions found on industrial machines.

Containers, like Docker, are more lightweight than virtual machines and can deliver a similar level of system isolation but with far fewer resource requirements. A container is a standard unit of software that packages up code and all its dependencies. This allows the application to run quickly and reliably from one computing environment to another. Docker is based on an open source and widely adopted standard engine, that allows designers to host containers on platforms like CrossControl on-board computers that can support the Docker Engine. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application, including the application code, runtime, system tools, system libraries and settings.

Some 3rd party developers are distributing their software to suit this standard and making it available as Docker containers, for easy deployment, including MS Azure IoT Edge client and similar. However, this approach can also include Docker images being developed and deployed as part of a conscious development choice and system architecture to achieve easier life-cycle management and maintenance.