A container does not care where it is running and behaves the same in all environments.Ĭontainers are more efficient - Since containers do not contain a guest OS, they boot up extremely fast.
What is kubernetes and what problem does it solve portable#
The most popular of them, and more or less the de facto standard in container runtime technology, is Docker.Ī container runtime provides an abstraction layer that allows applications to be self-contained and all applications and dependencies to be independent of each other.Ĭontainers are portable - Since containers have the runtime and application dependencies packaged together, they are portable. Some of the popular container runtimes are Docker, Rocket, and containerd. Containers make use of container runtimes. We have now got rid of the guest OS dependency, and containers now run as separate processes within the same OS.
Applications running on servers are indispensable and if they fail for some reason, building them again from scratch is an issue. Having a dedicated VM for an application leads to portability issues and operations teams soon find themselves trying to tend to the servers as pets.
VMs waste a lot of resources because a significant percentage of allocated resources remain unutilised. Resource sharing within a virtual machine is not optimal even if it is architected correctly.
Admins now need to take care of multiple servers rather than numerous dependencies.Īlso, we need to allocate a minimum amount of resources to the guest OS, and organisations over-provision resources to VMs to meet the peak utilisation of the VM rather than the regular use. A virtual machine is heavy, slower to start, and presents an extra dependency to maintain a guest OS along with a host OS. We were trying to solve the runtime, library, and dependency problems, but we introduced a heavyweight guest OS layer in between, which has its disadvantages.