{"id":64848,"date":"2022-06-28T13:00:00","date_gmt":"2022-06-28T17:00:00","guid":{"rendered":"https:\/\/jumpcloud.com\/?p=64848"},"modified":"2023-01-06T12:49:57","modified_gmt":"2023-01-06T17:49:57","slug":"what-is-a-virtual-machine","status":"publish","type":"post","link":"https:\/\/jumpcloud.com\/blog\/what-is-a-virtual-machine","title":{"rendered":"What is a Virtual Machine (VM)?"},"content":{"rendered":"\n
While the IT sector\u2019s focus on virtualization technologies has significantly increased over the past couple of years, the concept has been with us for much longer. As early as the 1960s, IBM was already using virtualization to develop robust time-sharing applications. In recent times, however, organizations are increasingly using the technology to enhance IT agility while creating significant cost savings. <\/p>\n\n\n\n
Increased performance, greater workload mobility, and automated operations are some of the benefits that virtual machines (VMs) provide, making IT simpler to manage and less costly to operate. In this post, we\u2019ll explore what a VM is, how VMs work, their advantages and disadvantages, and other terminology associated with virtualization.<\/p>\n\n\n\n
A VM is a computer file that behaves like an actual physical personal computer (PC). It has its own CPU, memory, storage, and network interface card (NIC) \u2014 created from a physical server \u2014 that allows it to run its own operating system (OS) and application environment separate from the dedicated hardware.<\/p>\n\n\n\n
While the parts (CPU, memory, storage, and NICs) that make up your PC are physical and tangible, VMs are software-defined computers or virtualized computers within physical hosts, existing only as code. Since VMs are abstracted from the rest of dedicated hardware, many of them can exist on a single piece of hardware. You can also move them easily between host servers depending on demand and efficiently use the dedicated hardware\u2019s resources. <\/p>\n\n\n\n
VMs also allow multiple different OSes to run simultaneously on a single hardware system. For example, you can run Windows, Linux, and macOS on the same PC, and each OS runs precisely as it would on the host hardware. As such, the end-user experience emulated within a VM is nearly identical to that you\u2019d expect on a physical machine.<\/p>\n\n\n\n
VMs are created through a process called virtualization<\/a>, which uses software \u2014 also known as a hypervisor (explained next) \u2014 to separate the physical hardware resources from the virtual environment. Think of a virtual environment as the IT services that need to use the physical hardware\u2019s resources. <\/p>\n\n\n\n You can install the hypervisor on top of an OS or directly onto the hardware. When installed, the hypervisor takes charge of the computing resources and divides them up to be used in multiple VMs.<\/p>\n\n\n\n Because the VMs operate much like physical computers, you can run multiple OSes on a single machine (also called the host). During these operations, the hypervisor allocates hardware resources to each VM on an as-needed basis. The flexible resource allocation and mobility of the VMs simplify IT operations, making them efficient and cost-effective. These are also the reasons that have made virtualization the foundation for cloud computing.<\/p>\n\n\n\n To illustrate further how virtualization enhances efficiency and cost-effectiveness, consider the following scenario:<\/p>\n\n\n\n A company has three servers: server A (supports email), server B (supports web traffic), and server C (supports line-of-business applications). Because the company only uses each server for a dedicated purpose, it can\u2019t optimize its computing capacity. For example, although the company pays 100% of the servers\u2019 maintenance costs, it may only be utilizing a third of its capacities.<\/p>\n\n\n\n With virtualization, the company could split one of the three servers into three VMs and reduce maintenance costs by 66%. For example, it could split server A into three VMs to handle email, web traffic, and line-of-business applications. The company could then retire servers B and C to save on maintenance costs or repurpose them for other IT services.<\/p>\n\n\n\n The following diagram shows a side-by-side comparison between traditional and virtualized architecture as described in the scenario above.<\/p>\n\n\n\n A hypervisor is an application that isolates virtual environments from the underlying physical hardware. This isolation allows the underlying hardware resources to operate multiple VMs as guests, enabling them to share the system\u2019s computing resources effectively. There are two principal types of hypervisors:<\/p>\n\n\n\n A type 1 hypervisor \u2014 also called a bare-metal hypervisor \u2014 runs directly on the underlying server. Type 1 hypervisors operate much like a typical OS running VMs, albeit with minimal functionalities. These hypervisors are highly efficient when used in server environments because they have direct access to the host\u2019s resources. Examples of type 1 hypervisors include Microsoft Hyper-V, VMware ESXi, and Kernel-based Virtual Machine (KVM).<\/p>\n\n\n\n Type 2 hypervisors \u2014 also called hosted hypervisors \u2014 don\u2019t run directly atop the underlying server. Instead, they run as applications in an OS. Type 2 hypervisors are suitable for individual users that want to run multiple OSes on their PCs. Examples of such hypervisors include VirtualBox, Parallels Desktop for Mac, and VMware Workstation Player.<\/p>\n\n\n\n VMs have several benefits. Below are a few of them:<\/p>\n\n\n\n Now that we\u2019ve examined the advantages of VMs, let\u2019s take a look at some of their disadvantages.<\/p>\n\n\n\n There are two basic categories of VMs.<\/p>\n\n\n\n A process VM allows users to run a single process as an application on the physical host. An example of such a VM is the Java Virtual Machine (JVM) which allows any system to run Java applications. <\/p>\n\n\n\n A system VM is a full-featured VM designed to provide the same functionalities as a typical physical machine. It utilizes a hypervisor to access the underlying host\u2019s computing resources.<\/p>\n\n\n\n There are six major categories of virtualizations:<\/p>\n\n\n\n Server virtualization is a process that splits a physical server into multiple isolated VMs (also called virtual servers) through a hypervisor. Each virtual server serves as a unique physical device capable of running its own OS. Server virtualization is an efficient and cost-effective way to use server resources and deploy IT services in an organization.<\/p>\n\n\n\n Without server virtualization, physical servers only utilize a small portion of their processing capacities, resulting in idle devices. A data center can also become overcrowded with numerous underutilized servers that waste space, resources, and electricity.<\/p>\n\n\n\n Storage virtualization \u2014 also called software-defined storage (SDS) or virtual storage area network (SAN) \u2014 is the process that pools physical storage from multiple storage devices and makes them appear as a single unit. Unlike storage hardware from different vendors, networks, or data centers that cannot interoperate, storage virtualization creates an integrated pool that you can easily manage from a single console by software.<\/p>\n\n\n\n Virtualizing storage isolates the underlying storage hardware infrastructure from the management software, providing more flexibility and scalable storage pools that VMs can use. Virtual storage is an essential component for IT solutions such as hyper-converged infrastructures (HCIs) because it allows IT administrators to streamline storage activities like archiving, backup, and recovery.<\/p>\n\n\n\n Network virtualization is a process that divides the available bandwidth into multiple independent channels, each of which you can assign to a VM as needed. Network virtualization allows VMs to attain pervasive connectivity and simplifies the entire network infrastructure management.<\/p>\n\n\n\n For example, you can programmatically create, provision, and manage the entire network infrastructure through software, including load balancing and firewalling. There are two approaches to network virtualization.<\/p>\n\n\n\n It abstracts the physical network resources such as switches and routers through software. With the SDN approach, network administrators use the software to configure and manage network functions, creating a dynamic and scalable network. <\/p>\n\n\n\n Unlike the SDN approach, which focuses more on isolating network control functions from forwarding functions, NFV virtualizes the hardware appliances, providing dedicated functions such as load balancing and traffic analysis. NFV allows the network to grow without requiring the addition of more network devices.<\/p>\n\n\n\n Application virtualization is a process that encapsulates an application from the underlying OS on which it runs. Application virtualization allows users to access and use applications without requiring them to install them on their target devices. <\/p>\n\n\n\n IT administrators can use application virtualization to deploy remote applications on a server and deliver such applications without having to install them to end-users\u2019 devices. The virtualization software essentially streams the application as individual pixels from the server to end-user devices by using a remote display protocol such as Microsoft\u2019s Remote Desktop Protocol (RDP).<\/p>\n\n\n\n Users can then use the application as if it were installed locally. Application virtualization makes it simpler for IT teams to update corporate applications and roll out patches. <\/p>\n\n\n\n Desktop virtualization is a technology that isolates the logical OS instance (desktop environment and its applications) from the clients that are used to access it. There are two primary ways that you can use to achieve desktop virtualization.<\/p>\n\n\n\n With local desktop virtualization, the OS runs on the client device as a virtualized component, and all processing and workloads occur on the local hardware. Local desktop virtualization is appropriate in environments where users don\u2019t have continuous network connectivity.<\/p>\n\n\n\n With remote desktop virtualization, users run OSes and applications through client devices such as laptops, smartphones, or thin clients from servers inside the data center. Remote desktop virtualization gives IT teams more centralized control over corporate applications and desktops. It can also maximize the company\u2019s returns through remote access to shared computing resources.<\/p>\n\n\n\n Virtual desktop infrastructure (VDI) and desktop-as-a-service (DaaS) offerings are popular desktop virtualization that use VMs to deliver virtual desktops to different devices. <\/p>\n\n\n\n Like virtualization, you can also use the containerization approach to host applications on computers. However, while virtualization allows you to run multiple OSes on a single physical host, containerization enables you to deploy various applications through the same OS on a single VM or server. <\/p>\n\n\n\n Containerization is a lightweight option for virtualization. Instead of shipping entire OSes and applications, you encapsulate your code together with related libraries, configuration files, and dependencies needed for it to run. This single package of the software \u2014 also called a container \u2014 is abstracted from its host OS and can run on any platform without any issue. <\/p>\n\n\n\n Therefore, containers can use the host\u2019s operating system instead of installing an OS for each VM. VMs are great at supporting applications that require the OS\u2019s full functionality. You can also use VMs when you have many OSes to manage on a single server. On the other hand, containers are a great choice when your priority is to reduce the number of physical servers you\u2019re using for multiple applications.<\/p>\n\n\n\n Virtualization and cloud computing are often considered similar technologies because they all establish useful computing environments from abstract resources. Put simply: virtualization is a technology that makes cloud computing possible because it allocates abstracted resources that cloud service providers (CSPs) can deploy and manage through software.<\/p>\n\n\n\n It enables CSPs to serve organizations with their existing powerful physical hardware where cloud users only purchase the computing resources on an as-needed basis with service models such as infrastructure-as-a-service (IaaS)<\/a>, bare metal cloud<\/a>, as well as platform-as-a-service (PaaS) or software-as-a-service (SaaS). Organizations can scale IaaS, PaaS, SaaS<\/a>, and other resources cost-effectively as their workloads expand.\u00a0<\/p>\n\n\n\n However, despite the benefits<\/a> that virtualization and cloud computing bring to organizations, there are also added security risks when employees access virtualized resources from multiple heterogeneous devices. The JumpCloud Directory Platform\u00ae<\/sup><\/a> is an inclusive enterprise-grade, cloud-based directory platform that organizations can leverage to support identity and access management (IAM) in cloud-based environments. <\/p>\n\n\n\n IT administrators can use JumpCloud to authenticate users to corporate resources, enabling them to know which endpoint is connected to the environment, who owns it, and what their access level is for any VM. Learn more about how to automate server management<\/a> from the cloud.<\/p>\n","protected":false},"excerpt":{"rendered":" What is a virtual machine (VM)? Discover the basics of VMs, how they work, and the terminology associated with virtualization.<\/p>\n","protected":false},"author":131,"featured_media":47454,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","inline_featured_image":false,"footnotes":""},"categories":[23],"tags":[],"collection":[2779],"platform":[],"funnel_stage":[3016],"coauthors":[2568],"acf":[],"yoast_head":"\n<\/figure>\n\n\n\n
What Is a Hypervisor?<\/h2>\n\n\n\n
Type 1 hypervisors<\/h3>\n\n\n\n
Type 2 hypervisors<\/h3>\n\n\n\n
Advantages of Virtual Machines<\/h2>\n\n\n\n
\n
Disadvantages of Virtual Machines<\/h2>\n\n\n\n
\n
Types of Virtual Machines<\/h2>\n\n\n\n
Process VMs<\/h3>\n\n\n\n
System VMs<\/h3>\n\n\n\n
What Are the Different Types of Virtualizations?<\/h2>\n\n\n\n
1. Server virtualization<\/h3>\n\n\n\n
2. Storage virtualization<\/h3>\n\n\n\n
3. Network virtualization<\/h3>\n\n\n\n
Software-defined networking (SDN)<\/h4>\n\n\n\n
Network functions virtualization (NFV)<\/h4>\n\n\n\n
4. Application virtualization<\/h3>\n\n\n\n
5. Desktop virtualization<\/h3>\n\n\n\n
Local desktop virtualization <\/h4>\n\n\n\n
Remote desktop virtualization<\/h4>\n\n\n\n
What Is the Difference Between Virtual Machines and Containers?<\/h2>\n\n\n\n
Virtual Machines in Cloud Computing<\/h2>\n\n\n\n