What are Containers in Kubernetes and What are containerization kubernetes benefits?
What are Containers in Kubernetes?
A collection of processes unified by one namespace, with access to an operating system Kernel that it shares with other containers and little or no connections between them.
According to Docker Containers
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
Read More -> What is a Container? | App Containerization | Docker
A runtime instance of a Docker Image contains three things.
- Docker Image
- An execution Environment
- A standard set of instructions
Difference between VM and Containers
Containers VS VMware
VMware
One or many applications |
The necessary binaries and libraries |
The entire guest operating SYstem to Interact with the applications |
Containers
Container include the Application and all of its dependencies |
Container shares the kernel with other containers |
Not tied to infrastructure only needs Docker Engine installed on the host. |
Run as Isolated processes in user space on the Host OS |
This allows containers to run anywhere (any system, computer) |
Container Benefits for Developers
Containers are very much Portable |
Packaged in a standard way |
Deployment is Easy and Repeatable |
Automated testing, packaging, and integrations |
Support newer microservice architectures |
Alleviate platform compatibility issues |
Reliable Deployments:- Improve Speed and Frequency of releases. |
Consistent application lifecycle: Configure once and run mulitple times. No more process differences between dev and production environments. |
Simple Scaling Fast deployments ease the addition of workers and permit workload to grow and shrink for on-demand use cases. |