Introduction to containers
To understand Kubernetes, we first need to understand containers as they are the core building blocks of Kubernetes. A container is a form of operating system virtualization and is a very popular computing platform for software deployment and running modern software based on microservices architecture. A container allows you to package and run computer software with isolated dependencies. Compared to server virtualization, such as Amazon EC2 or VMware virtual machines, containers are more lightweight and portable, as they share the same operating system and do not contain operating system images in each container. Each container has its own filesystem, shares of computing resources, and process space for the custom applications running inside it.
The concept of containerization technology traced back to the 1970s with the chroot system and Unix Version 7. However, container technology did not gain much attention in the software development community...