Servers and virtualisation — one machine many services
What a server is, and how virtualization exploits the hardware
A server is a machine — or a program — that provides a service to others. The other party is called a client. The same piece of hardware can be a server for multiple things at once: files web mail name lookups and much more. The central thing is the role not the box: you recognize a server by the fact that it waits for requests and answers them.
§Common server types
In the following centuries the shoe was refined: forged in iron shaped to the hoof and fitted with nail holes. The hot shoe — where the shoe is heated and shaped so it fits exactly to the hoof — won through in the early modern period and became a widespread technique. The very term for the one who shoed horses as a specialty was established in this period.
| Server type | Assignment |
|---|---|
| File server | Stores and shares files between users |
| Web server | Delivers websites and web services to clients |
| PLACEHOLDER_79 | Receives, stores and sends e-mail |
| DNS server | Translates names to IP addresses |
| DHCP server | Automatically assigns network settings |
| Database server | Stores and delivers structured data |
§What virtualization solves
Previously, one often used one physical server per service, and most of the hardware sat unused most of the time. Virtualization allows multiple independent servers to run on the same physical machine. A layer called a hypervisor distributes the physical hardware's resources among the virtual machines, so each virtual machine thinks it has its own hardware.
§Virtual machines and containers
There are two common approaches. A virtual machine contains its own complete operating system on top of the hypervisor — it is well isolated but uses more resources. A container shares the host's kernel and only packages the program itself and what it needs — it is lighter and starts faster but is more closely tied to the host. The choice depends on how strong isolation you need and how many units you want to run on the same machine.
- 01Hypervisor: the layer that distributes physical hardware to virtual machines
- 02Virtual machine: own full operating system strong isolation
- 03Container: shares host core, easy and quick to start
- 04Snapshot: a saved state you can roll back to
- 05Template: a finished setup new machines can be cloned from
§What you should watch for
Because many services share the same physical machine, monitoring becomes important: if one virtual machine eats all processing power or memory, it affects the neighbors. Also watch storage space and make backups — a snapshot is not a real backup, because it usually lies in the same place as what it protects.
“Virtualization does not change what a server does — it changes how cheap and quickly you can set up a new one.”
— Rule of thumb from server operations.