What is a Virtual Machine (VM)?
A virtual machine is a virtual representation, or impersonation, of a physical computer. They are often referred to as a guest while the physical machine they run on is referred to as the host. VM’s mimics the entire host computer.
They are often used for testing, backing up data, or running SaaS applications.
A VM cannot interact directly with a physical computer. Instead, it needs a hypervisor to coordinate between it and the underlying physical hardware. The hypervisor does the work of allocating physical computing resources—such as processors, memory, and storage—to each VM. It keeps each VM separate from others so they do not interfere with each other.
One can create a virtual machine using virtualization software. Examples include Microsoft Hyper-V Manager, VMware Workstation Pro, and Parallels Desktop. These applications allow you to run multiple VMs on a single computer. For example, Parallels Desktop for Mac allows you to run Windows, Linux, and macOS virtual machines on your Mac.
Uses of Virtual Machines
Testing – Software developers often want to be able to test their applications in different environments. Virtual machines can be easily used by them to run their applications in various OSes on one computer. Compared to testing on several different physical machines, this is quite simpler and more cost-effective.
Running Software Designed for other OSes – Generally, software applications are only available for a single platform but a VM can run software designed for a different OS. For example, a Mac user who wants to run software designed for Windows can run a Windows VM on their Mac host.
Running Outdated Software – Once upgraded to the latest version, some pieces of older software cannot be run in modern OSes. Users who want to run these applications can run an old OS on a virtual machine.
Types of Virtual Machines
VMware: This is a subsidiary of Dell Technologies. Available in two versions, VMware Player (which is a free and basic version) and VMware Workstation (It is a paid application and is best used in enterprise settings). The workstation application provides all the benefits of the VMware player and also includes the feature to clone machines, take multiple snapshots of the guest operating system, replay changes made to the guest operating system for testing and record the performance of the software. The VMware can run both on the Windows Operating system and Linux Operating systems.
VirtualBox: Made by Oracle, this VM is free to use. This application can be used on Windows, Mac, and Linux OS. VirtualBox is an easy, user-friendly VM application. It has many features that make sustaining multiple virtual machines simple. VirtualBox allows files, drive, and peripheral sharing with the host machine.
Azure VM Types
Entry-level economical VMs for dev/test
A-series VMs have CPU performance and memory configurations best suited for entry-level workloads like development and test. They are economical and provide a low-cost option to get started with Azure.
Economical burstable VMs
Another low -cost option for workloads is the Bs-series virtual machines that typically run at a low to moderate baseline CPU utilization, but sometimes need to burst to significantly higher CPU utilization when the demand rises.
Searching for a VM for your production- based workload? D-series Azure Virtual Machines offer a combination of vCPUs, memory, and temporary storage able to meet your requirements.
The D v3 virtual machines are hyper-threaded general-purpose VMs
The Dd v4 virtual machine is well suited for applications that benefit from low latency, high-speed local storage. The D v4 virtual machine sizes do not have any temporary storage.
The Ds-series, DDs-series, and the Das-series VMs both support Azure Premium SSDs and Ultra Disk storage depending on regional availability.
Examples include many enterprise-grade applications, relational databases, in-memory caching, and analytics.
Protect data in use
A new entrant in the VM’s family, DC-series protect the confidentiality and integrity of your data and code while it is processed in Azure using secure enclaves. This is in addition to the existing built-in encryption capabilities that protect data in Azure while it is at rest and in transit.
Examples include confidential querying in databases, creation of scalable confidential consortium networks, and secure multiparty machine learning algorithms. The DC-series VMs are ideal to build secure enclave-based applications to protect customer’s code and data while it is in use.
Optimized for in-memory hyper-threaded applications
Optimized for heavy in-memory applications such as SAP HANA, The E-series Azure virtual machines are configured with high memory-to-core ratios, which makes them well-suited for relational database servers, with medium to large caches and in-memory analytics.
Compute-optimized virtual machines
Possessing a higher CPU-to-memory ratio, F-series VMs are equipped with 2 GB RAM and 16 GB of local solid-state drive (SSD) per CPU core and are optimized for compute-intensive workloads.
Examples include batch processing, web servers, analytics, and gaming.
Memory and storage optimized virtual machines
Having the incredible capacity of two times more memory and four times more Solid -State Drive storage (SSDs) than the General -Purpose D-series. G-series features up to ½ TB of RAM and 32 CPU cores and provides unparalleled computational performance, memory, and local SSD storage for your most demanding applications.
Examples include large SQL and NoSQL databases, ERP, SAP, and data warehousing solutions.
High-Performance Computing virtual machines
The HB-series VMs are optimized for HPC applications driven by memory bandwidth, such as fluid dynamics, explicit finite element analysis, and weather modeling.
The HC-series VMs are optimized for HPC applications driven by intensive computation, such as implicit finite element analysis, reservoir simulation, and computational chemistry.
Storage optimized virtual machines
The latest Lsv2-series features high throughput, low latency, directly mapped local NVMe storage.
Optimized for storage, the Ls-series VMs are built on Intel Haswell processor technology.
Examples include NoSQL databases such as Cassandra, MongoDB, Cloudera, and Redis. Data warehousing applications and large transactional databases are great to use cases as well.
Memory-optimized virtual machines
The M-series family of Azure virtual machines are memory-optimized and are ideal for heavy in-memory workloads such as SAP HANA.
Largest memory-optimized virtual machines
This is by far the largest-memory virtual machine offered on Azure and provides unparalleled computational performance to support large in-memory databases.
GPU enabled virtual machines
The N-series is a family of Azure Virtual Machines with GPU capabilities. GPUs are ideal for compute and graphics-intensive workloads, helping customers to fuel innovation through scenarios like high-end remote visualization, deep learning, and predictive analytics.
The N-series has three different offerings aimed at specific workloads:
The NC-series is focused on high-performance computing and machine learning workloads.
The NDs-series is focused on training and inference scenarios for deep learning.
The NV-series enables powerful remote visualization workloads and other graphics-intensive applications
Examples include simulation, deep learning, graphics rendering, video editing, gaming, and remote visualization.
Advantages of a Virtual Machine
Supports Multi-OS Environment– VM’s allows multiple operating system environments on a single physical computer without any intervention.
Ease in Management & Maintenance – Virtual machines are widely available and are easy to manage and maintain.
Enables Recovery – Offers application provisioning and disaster recovery options.
Ease in Creation – A VM can be created or replicated very quickly by cloning it with an OS already installed, rather than installing a new OS on a physical server.
High Speed & Availability – VMs offer high availability since they can be moved from one server to another for maintenance purposes, even whilst running.
Secured – There are security benefits to running virtual machines. For example, if you need to run an application of questionable security, you can run it in a guest operating system. So, if the application causes damage, then it will be only temporary after the guest is shut down. Virtual machines also allow for better security forensics by monitoring guest operating systems for deficiencies and allowing the user to quarantine it for analysis.
Disadvantages of a Virtual Machine
– Low on Efficiency – They are not as efficient as a physical computer because the hardware resources are distributed indirectly.
– Deterioration in Performance – Multiple VMs running on a single physical machine can deliver unstable performance. Using proper isolation techniques may address this drawback.
– Possibility of Infecting Host Computer Problems – A virtual machine can be infected with the weaknesses of the host machine. A computer with several virtual machines would then infect each of those “machines” connected to it via virtualization.
Examples of a Virtual Machine
Examples include – KVM, VMware Workstation, VMware Fusion, Hyper-V, Windows Virtual PC, Xen, Parallels Desktop for Mac, Oracle VM Server for SPARC, VirtualBox, and Parallels Workstation.
Interested in cloud? You might be interested in our below cloud related blogs:
Why Switch to the Cloud? – 11 Advantages of Cloud Computing for Business
Why to choose Azure Cloud: 10 Reasons Why to choose Microsoft Azure Cloud for Your Enterprise
Cloud Servers vs Physical Servers: Definition, Features, Pros and Cons of Cloud and Physical Server
Azure Vs AWS: Why choose Azure over AWS?
Cloud vs Virtualization: What’s the difference between Cloud Computing and Virtualization?