virtual machine (VM)
What is a virtual machine (VM)?
A virtual machine (VM) is a program running on host hardware that provides an isolated environment with its own guest operating system (OS) and applications, separate from the host OS or any other VMs running on the host system.
Virtual machines operate identically to physical hardware
From an end user’s perspective, a VM provides nearly the same experience as a single-computer environment. Files and applications can be loaded, stored, updated and worked with in the same way as they would on a physical (i.e. bare metal) computer, without affecting the host system or any other VMs. The physical resources of the host system – such as CPU, GPU, memory and storage – are allocated to the VM by a software layer called the hypervisor. The virtual hardware devices provided by the hypervisor map to physical hardware on the host system (e.g. a VM’s virtual hard disk is stored as a file on the host hard drive).
VMs are separate from the hardware for a reason
Virtual machines have several practical applications. Because they separate the virtual operating environment from the physical hardware, VMs are useful for testing potentially malicious applications. Before rolling out an OS update, IT teams can test the OS on a VM to make sure business-critical apps will still work with the update. VMs can also be used by dev teams to test new applications or updates on a range of OSes and versions. If there is a need to run an older application that requires a legacy OS, a VM can be used to run it.
Types of VMs
Broadly speaking, there are two types of virtual machines: process VMs and system VMs.
A process VM, also known as an application VM or managed runtime environment (MRE), is a virtual platform for a single process to run as an application on a host machine. Once the process is finished, the VM is destroyed.
A system VM provides a complete system, so it works just like a bare metal system. Each system VM can run its own OS and multiple applications on that OS. This type of system requires the use of a hypervisor to access the host machine’s hardware resources.
Why should you use virtual machines?
The benefits of VMs include:
- Portability: VMs can easily be moved from one server to another, or even from on-premises hardware into a cloud environment.
- Smaller footprint: Because VMs allow for more efficient use of hardware resources, fewer host machines may be needed to support the same workloads as compared to running them in a physical environment, saving space, energy and costs.
- Faster provisioning: An existing VM can be easily duplicated when a new instance is needed, rather than having to be set up from scratch.
- Security: VMs provide a safe, sandboxed environment, so any malware or other issues affecting one specific VM are not spread to the host system or other VMs.
However, there are some trade-offs to running VMs. The administration and management of a VM environment does require some expertise from IT staff. And having a hypervisor layer and multiple OSes running on the same host system does come with a performance cost. For users who have significant performance demands, latency or resource availability issues in a VM environment may make them hesitant to work on a VM.
Virtual desktops vs virtual machines
There are two primary ways that virtualisation is used by organisations. Companies may have a mix of these two options in their network, depending on their needs.
The first option is virtual desktops. This technology creates a virtual workstation that offers a standard, shared experience across all virtual desktops on a central network. Users can easily access their virtual desktop remotely over the internet and work on it with a consistent experience regardless of the device they use to access it. The desktop interface is limited, and users only have access to specific applications. These workstations do not use virtual hardware resources such as CPU, memory or storage, and they are no longer active when the user logs off.
Virtual machines, on the other hand, offer a customisable virtual PC experience that does provide the user with specific hardware resources. A greater range of applications are available on VMs as compared to virtual desktops. VMs are also isolated from all other VMs on the network, and they continue to exist on the system even after the user signs off. They basically offer the same experience as a desktop PC but without the hardware maintenance.
Uses of virtual machines
Software, OS and application testing: While software developers naturally need to test their applications in different environments, they aren’t the only type of company that may need to do so. Any organisation that is looking to deploy a critical update may wish to test that update on a VM instance and identify possible incompatibilities before deploying it across their organisation. Performing such tests on VMs is simpler and more cost effective than having to test on several individual physical machines.
Running legacy software: Companies may have custom or specialised applications that can’t be run in a modern OS but must still be used by the business. Users who need to run these applications can run them on an old OS from a VM.
Running software designed for a different OS: Some applications are only available for a specific platform. In addition, certain users may have specific needs that cause them to use different hardware to the rest of the organisation, but still need to access company-standard apps. In these cases, a VM can be used to run software designed for a different OS to the version that is native to the host computer.
Running SaaS applications: Software as a service (SaaS) refers to providing software to users through the cloud. SaaS users subscribe to an application and access it over the internet rather than purchasing it once and installing it on their computers. VMs in the cloud are typically used for both the computation for the SaaS applications as well as for delivering them to users.
Data storage and backup: Cloud-based VM services are very popular for storing files because the data can be accessed from anywhere via the internet. Plus, cloud VMs typically offer improved redundancy, require less maintenance and scale more easily than on-premises servers.
Hosted services: Hosting services such as access management and email on cloud VMs is generally faster and more cost-effective than doing so in an on-premises data centre. Running these services on cloud VMs also helps offload maintenance burdens and security concerns to the cloud provider.
HPE virtual machine solutions
We engineer our servers for deep integration with partner operating systems and virtualisation software. We also work closely with our partners to optimise, certify and support their products in various HPE server environments. Our Partner Software portfolio delivers a variety of compelling software and virtualisation solutions for hybrid and multi-cloud environments, in collaboration with software partners including Microsoft, VMware, Red Hat and SUSE.
HPE Infosight delivers AI-powered autonomous operations that ensure your VM environment is always-on, always-fast and always-agile. It collects data from more than 100,000 systems worldwide, uses cloud-based machine learning to diagnose the root cause of issues, and recommends the right remediation through app- and resource-centric modelling. This AI-powered autonomous operation helps drive deep visibility and eliminates guesswork with VM- and data-centric analytics.
Virtualise more business-critical workloads and get the performance, availability and savings you need with HPE data storage solutions for VMs. HPE Nimble Storage provides an agile, always-on, always-fast platform for storage that can power VMs and extend across hybrid cloud. The predictive intelligence of HPE InfoSight ensures your apps are always on and always fast, with visibility from storage to virtual machines and real-time, actionable recommendations for optimisation.
HPE GreenLake offers a consumption-based solution for on-premises VM infrastructure. HPE owns and installs the hardware in your on-premises or colocated data centre, your remote office/branch office (ROBO) or your edge location – with no upfront capital purchase required. Whether you select a Nutanix environment with a choice of hypervisors, or an HPE SimpliVity-based solution, built-in buffer capacity means you’re always prepared for business growth and new business opportunities.