Containers and Being Container-Native
Before we can define exactly what containers are (hint: they are Linux processes!) and what container-native means, we need to look back in time to see what led to containers.
Container History
If you are over a certain age (over 30!), it is very likely your first computer program involved compiling source code and statically linking it with libraries from the operating system. Computer scientists then invented dynamic linking – which is great: you could patch one library and all of the programs you had written would pick up that change once restarted. This of course created a different problem – managing all of the dependencies. Packaging technologies such as RPM and YUM were created to help solve the dependency problem when distributing and managing Linux operating systems. Operating system distributions are one mechanism for collaboratively sharing and managing lots of different software packages at scale, and ultimately...