Nowadays containers are so ommnipresent that a world without containerization seems unthinkable. They are often the Solution for portable and isolated environments for running applications. But a containerization Solution for Servers might not fit on embedded systems and vice versa. We want to provide an overview about existing containerization Solutions, their architecture, functionality, ecosystem and how they can be used in embedded Systems.
Nowadays containers are so ommnipresent that a world without containerization seems unthinkable. They are often the Solution for portable and isolated environments for running applications. Containers are, as just mentioned everywhere, but not all environments come with the same constraints and usecases, a containerization Solution for Servers might not fit on embedded systems and vice versa. This talk aims to provide an overview about existing containerization Solutions, their architecture, functionality, ecosystem and how they can be used in embedded Systems.
Firstly, we quickly recap the fundamental technologies for containers including namespaces and cgroups. Additionally, we explore the broader context of containerization, contrasting it with alternative approaches such as virtual machines, traditional application deployment and UserModeLinux.
Subsequently, we delve into the realm of container runtimes, focusing on popular implementations such as the Open Container Initiative (OCI) standards that include runc and crun, but also solutions like lxc will be covered. We also discuss older approaches such as lmctfy and CoreOS's rkt. Another important point is the ecosystem surrounding embedded containers, encompassing container registries for image distribution and the tooling required for building and managing containerized applications in embedded environments.
Finally, a comparative analysis is presented that evaluaties embedded container runtimes based on criteria such as performance, security, ease of use and ecosystem support.