Are you getting into architecting for containers?  Here's a repost of my article on rhelblog.redhat.com.

Perhaps you’ve been charged with developing a container-based application infrastructure? If yes, you most likely understand the value that containers can provide to your developers, architects, and operations team. In fact, you’ve likely been reading up on containers and are excited about exploring the technology in more detail. However, before diving head-first into a discussion about the architecture and deployment of containers in a production environment, there are three important things that developers, architects, and systems administrators, need to know:

All applications, inclusive of containerized applications, rely on the underlying kernel

The kernel provides an API to these applications via system calls

Versioning of this API matters as it’s the “glue” that ensures deterministic communication between the user space and kernel space

via Architecting Containers Part 1: User Space vs. Kernel Space | Red Hat Enterprise Linux Blog.