Container basics
Traditionally, applications used to be deployed on dedicated servers. To run an application, you would do the following:
- Purchase hardware.
- Install the OS.
- Install dependencies.
- Deploy application code.
- Make sure the application is the same across all environments.
This took a lot of time and resources to deploy and maintain. It was not portable and was difficult to scale. VMware popularized running multiple servers and operating systems (OSs) on the same hardware using a hypervisor. Each virtual machine (VM) has its own dedicated resources, including memory, CPU, and storage, which are allocated by the hypervisor that manages them. VMs are isolated from each other and from the host machine, providing greater security and flexibility but also requiring more resources and longer startup times. Containers share the host machine’s OS kernel and use containerization technology to isolate the application from other processes running...