What is the process that allows software based networked computers to run multiple operating systems and programs and share storage?

There are two main hypervisor types, referred to as “Type 1” (or “bare metal”) and “Type 2” (or “hosted”). A type 1 hypervisor acts like a lightweight operating system and runs directly on the host’s hardware, while a type 2 hypervisor runs as a software layer on an operating system, like other computer programs. 

The most commonly deployed type of hypervisor is the type 1 or bare-metal hypervisor, where virtualization software is installed directly on the hardware where the operating system is normally installed. Because bare-metal hypervisors are isolated from the attack-prone operating system, they are extremely secure. In addition, they generally perform better and more efficiently than hosted hypervisors. For these reasons, most enterprise companies choose bare-metal hypervisors for data center computing needs. 

While bare-metal hypervisors run directly on the computing hardware, hosted hypervisors run on top of the operating system (OS) of the host machine. Although hosted hypervisors run within the OS, additional (and different) operating systems can be installed on top of the hypervisor. The downside of hosted hypervisors is that latency is higher than bare-metal hypervisors. This is because communication between the hardware and the hypervisor must pass through the extra layer of the OS. Hosted hypervisors are sometimes known as client hypervisors because they are most often used with end users and software testing, where higher latency is less of a concern. 

Hardware acceleration technology can create and manage virtual resources faster by boosting processing speed for both bare-metal and hosted hypervisors. A type of hardware accelerator known as a virtual Dedicated Graphics Accelerator (vDGA) takes care of sending and refreshing high-end 3-D graphics. This frees up the main system for other tasks and greatly increases the display speed of images. For industries such as oil and gas exploration, where there is a need to quickly visualize complex data, this technology can be very useful.

Both types of hypervisors can run multiple virtual servers for multiple tenants on one physical machine. Public cloud service providers lease server space on the different virtual servers to different companies. One server might host several virtual servers that are all running workloads for different companies. This type of resource sharing can result in a “noisy neighbor” effect, when one of the tenants runs a large workload that interferes with the server performance for other tenants. It also poses more of a security risk than using a dedicated bare-metal server. 

A bare-metal server that a single company has full control over will always provide higher performance than a virtual server that is sharing a physical server’s bandwidth, memory and processing power with other virtual servers. The hardware for bare-metal servers can also be optimized to increase performance, which is not the case with shared public servers. Businesses that need to comply with regulations that require physical separation of resources will need to use their own bare-metal servers that do not share resources with other tenants.

Like virtual machines, container technology such as Kubernetes is similar in the sense of running isolated applications on a single platform. While virtual machines virtualize the hardware layer to create a “computer,” containers package up just a single app along with its dependencies. Virtual machines are often managed by a hypervisor, whereas container systems provide shared operating system services from the underlying host and isolate the applications using virtual-memory hardware.  

A key benefit of containers is that they have less overhead compared to virtual machines. Containers include only the binaries, libraries and other required dependencies, and the application. Containers that are on the same host share the same operating system kernel, making containers much smaller than virtual machines. As a result, containers boot faster, maximize server resources, and make delivering applications easier. Containers have become popluar for use cases such as web applications, DevOps testing, microservices and maximizing the number of apps that can be deployed per server.  

Virtual machines are larger and slower to boot than containers. They are logically isolated from one another, with their own operating system kernel, and offer the benefits of a completely separate operating system. Virtual machines are best for running multiple applications together, monolithic applications, isolation between apps, and for legacy apps running on older operating systems. Containers and virtual machines may also be used together. 

Frequently asked questions

  • What is a virtualization machine? Is it the same as a virtual machine?

    The process of creating a software-based, or "virtual" version of something—whether that be compute, storage, networking, servers, or apps—is called virtualization. Virtualization as a technology enjoys a lengthy history, and today, it's still very relevant to building a cloud computing strategy. So, virtualization is the process, and the machines made using that process are most commonly called virtual machines or just VMs.

  • Multiple virtual machines can run simultaneously on the same physical computer, all managed by a hypervisor. A hypervisor is the software that integrates the physical hardware and the VM's virtual "hardware". This is very similar to how an operating system in a typical computer works: much like a school crossing guard helps multiple students move safely back and forth across a busy intersection, the hypervisor makes sure each VM gets the resources it needs from the physical server in an orderly and timely manner.

  • What is infrastructure as a service (IaaS)?

    This is the foundational category of cloud computing services. With IaaS, you rent IT infrastructure—servers and virtual machines (VMs), storage, networks, and operating systems—on a pay-as-you-go basis from a cloud provider such as Microsoft Azure.

    Learn more about IaaS

  • Are Azure Virtual Machines different than other VMs?

    Yes, and no! Azure Virtual Machines is the Azure infrastructure as a service (IaaS) used to deploy persistent VMs with nearly any VM server workload that you want. They are image service instances that provide on-demand and scalable computing resources with usage-based pricing.

    So, Azure Virtual Machines is the service that provides VMs optimized for general purpose or storage, memory, compute, and graphics-intensive workloads and are offered in a variety of types and sizes to meet your needs and keep your budget in check.

    Learn more about Azure IaaS

  • Spot VMs are part of services offered by a cloud provider, such as Microsoft Azure, that provides scalable compute capacity at deep discounts.

    Spot VMs are ideal for workloads that can be interrupted, such as:

    • Select high-performance computing scenarios, batch processing jobs, or visual rendering applications.
    • Dev/test environments, including continuous integration and continuous delivery workloads.
    • Big data, analytics, container-based, large-scale stateless applications.

    Learn more about Azure Spot Virtual Machines

  • What is Azure Disk Storage?

    Azure Disk Storage is a service offering high-performing, highly durable block storage designed to be used with Azure Virtual Machines. With unmatched resiliency, seamless scalability, and built-in security, Azure Disk Storage delivers the price-performance you need for your mission and business-critical apps.

    Learn more about Azure Disk Storage

  • How does hybrid cloud computing work with Azure?

    In general, hybrid cloud computing refers to a cloud environment that combines public cloud and on-premises infrastructure, including private cloud, by allowing data and apps to be shared between them. It expands your cloud deployment options, offering greater flexibility to scale resources and take advantage of cloud tech innovations, while giving interoperability with on-prem environments.

    Get an intro to public, private, and hybrid clouds

  • What is a cloud computing "stack"?

    Cloud services providers sometimes call cloud computing services a "stack", because they build on top of one another. While infrastructure as a service (IaaS) represents the foundational element in the stack, other services are often used together with IaaS, such as platform as a service (PaaS), software as a service (SaaS), and serverless computing.

    Learn more common cloud computing terms