Virtualization and Containers

From docwiki
Revision as of 14:45, 30 October 2020 by Mond (talk | contribs)
Jump to: navigation, search


Motivation

A Linux system is capable of running a lot of different applications and services at once but it is usually convenient to have systems separated in what they do: A mail server, a web server, a DNS server, a database server, etc.. could all run on the same system. But once you need to e.g. upgrade it you need to upgrade it all at once and this might be complicated in a large environment where you have different dependencies on all of this.

On the other hand: If we use a dedicated server for systems that do not need much CPU power then we are wasting a lot of resources. As a solution to this dilemma virtualization and containers have been invented.

Virtualization vs. Container

Virtualization simulates a complete computer including hardware and the the operating system that runs inside this simulated computer can be built just like a system that runs on real hardware ("bare metal"). You can run a virtual windows system inside one simulated computer and a virtual Linux server in another instance on the same hardware.

In contrast containers are isolated processes inside the same Linux system. They run on the same kernel but the kernel shows them different parts of the file-system, different network interfaces, etc..