Containers in the Data Center
Explore how containers function within data centers, focusing on their virtualization-like behavior, networking complexities, and orchestration tools like Kubernetes. Learn how to design containerized applications with externalized configuration and fast startup times, and understand the evolving network infrastructure supporting containers.
What are containers?
Containers have invaded the data center, pushed there by developer insistence. Containers promise to deliver the process isolation and packaging of a virtual machine together with a developer-friendly build process. The container hypothesis says, “I’ll never again have to ask if production matches QA.”
Are containers VM?
Containers in the data center act a lot like virtual machines in the cloud (see Virtual Machines in the Cloud). Any individual container only has a short-lived identity. As a result, it should not be configured on a per-instance basis. This can cause interesting effects with older monitoring systems that need to be reconfigured and bounced every time a machine is added or removed.
A container won’t have much if any, local storage, so the application must rely on external storage for files, data, and maybe even cache.
The challenge with containers
The most challenging part of running containers in the data center is definitely the network. By default, a container doesn’t expose any of its ports (on its own virtual interface) on the host machine. We can selectively forward ...