A virtual machine is an isolated software-emulated computer that virtualizes hardware and runs an operating system with its workload. Unlike containers, it requires managing the guest operating system, kernel, init system, logging, security updates, backups, and associated overhead. section 1.2.1
Virtual machines provide stronger separation at a higher management cost:
- A physical machine can run multiple applications in separate VMs, but each VM carries a complete operating system. section 1.2.1
- Containers can be placed inside separate VMs when applications such as a web frontend and a database require additional isolation. section 11.5.2
Compare a physical machine hosting three applications in three separate VMs with the corresponding container arrangement. section 1.2.1















