Kubernetes (K8s) Containerization at an Entry Level
TL;DR
What?
A container is an executable unit of software in which application code is packaged (encapsulated), along with its libraries and dependencies, in common ways so that it can be run anywhere, whether
on a desktop, on-premises, or in the cloud.
A container include a guest OS; instead it leverages host OS.
Compared to virtual machines, containers virtualize the operating system rather than the infrastructure.
The clear benefit of containers is that you do not have to run a dedicated operating system instance for each virtual environment. Instead, one operating system is virtualized across all the containers.
To do this, containers take advantage of a form of operating system virtualization.
Benefits: isolates processes; controls resources allocated to them; small, fast portable
Use cases
- Containers are small and lightweight, which makes them a good match for microservice architectures where applications are constructed of many loosely coupled and independently deployable smaller services.
- The combination of a microservices architecture and containers is a common foundation for many teams that embrace DevOps as the way they build, ship, and run software.