Primer on Containers

Containers are one of the biggest trends in both cloud and enterprise environments. So, what is a container exactly? At a very basic level it is a self-contained object that has all the files and configurations to run an application or workload. Many containers can run side by side on the same virtualization host running different apps but are completely separated from each other. Think of them as a mini operating system with only the absolute minimum required to do its job.

In traditional servers, the operating system has shared components for all applications it runs. In Windows this could be the version of Java or .Net that is installed and all applications share it. Updating Java might work for one app but break another. With containers that dependency is gone. If a container needs Java, then it comes with it. If a second container needs Java… it has its own copy and nothing is shared between them so there are no conflicts if one container gets a Java update and the other doesn’t. The only thing the containers share is the kernel of the virtualization host.

Now that you have a basic overview lets go into how containers work. So we have the container which gets deployed to a virtualization host…  but how does that happen? Meet the container manager. Docker, Rocket, and Google’s Kubernetes are the biggest names. Its job is to create the containers based on the configuration file. The manager will read the file, pull in the required parts, create the container, pass it along to the virtualization host and execute it.

Okay, but where to the parts come from? Time to meet the Container Registry! The Container Manager will be told about registries – there are several public ones and private versions can be created as well. The manager will download the packages the container needs from the registry. Doing it this way ensures that containers can be repeatedly created and be identical images.

As you can imagine the container world is perfect for applications that need to rapidly scale up (or down) based on load and be perfect copies. That brand-new app that you installed on your phone? Good chance its back end is running in a container. To learn more contact Thrive today!