liveBook · Manning

Virtual machine

As explained in Learn Docker in a Month of Lunches, Second Edition

A virtual machine is a software-defined computer that emulates hardware, runs its own operating system, and provides an isolated environment for applications.

A virtual machine gives an application an isolated box with its own operating system. That isolation improves separation between workloads, but each VM consumes additional memory and CPU for its OS. section 2.2

Virtual machines are useful when:

  • Cloud applications need portable infrastructure across providers through infrastructure as a service. section 1.1.1
  • Workloads require isolation, even though separate operating systems reduce density and add licensing and maintenance work. section 2.2
  • Containers are considered as an alternative because they share the host OS, start faster, and support more workloads on the same hardware. section 2.2

Cloud migration choice

A distributed application can run each component in a VM through IaaS, gaining portability across clouds but accepting higher running costs. Containerizing the components offers a lower-cost, portable alternative. section 1.1.1

Figure 2.4 Multiple VMs on one computer each have their own OS.
figure

Compare the diagram of multiple VMs, each with its own operating system, with the shared-OS container model. section 2.2

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Defines VMs by their separate operating systems and explains memory, CPU, licensing, and maintenance costs.
Examples
Uses cloud application components, multiple VMs on one computer, and container-versus-VM diagrams.
What you can do after
Evaluate deployment alternatives by weighing VM portability and isolation against resource, licensing, and maintenance costs.
How it connects
Connects virtual machines with IaaS, PaaS, containers, Docker, isolation, density, and cloud migration.

Also explained in

Compare how 16 books explain virtual machine →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.