VM to oprogramowanie lub emulowane środowisko, które działa jako cyfrowa wersja fizycznego komputera. Wirtualna maszyna umożliwia uruchomienie i działanie wielu niezależnych instancji systemu operacyjnego na jednym fizycznym komputerze lub serwerze.
Wirtualne maszyny są tworzone za pomocą specjalistycznego oprogramowania zwanego nadzorcą wirtualizacji (hypervisor). Nadzorca wirtualizacji zarządza zasobami fizycznego komputera i umożliwia podział tych zasobów na mniejsze, izolowane jednostki zwane wirtualnymi maszynami. Każda wirtualna maszyna działa jako niezależny system, posiadający własne zasoby, takie jak procesor, pamięć, dysk twardy i karta sieciowa.
Wirtualne maszyny są wykorzystywane w różnych scenariuszach, takich jak testowanie oprogramowania, tworzenie środowisk developerskich, udostępnianie aplikacji w chmurze, konsolidacja serwerów, izolacja środowisk pracy, bezpieczne testowanie nieznanych lub potencjalnie szkodliwych aplikacji itp. Dzięki wirtualnym maszynom można osiągnąć lepsze wykorzystanie zasobów sprzętowych, elastyczność w zarządzaniu i izolację pomiędzy różnymi systemami działającymi na jednym fizycznym komputerze.