What is VMware? How VMware Virtual Machine Works?

As its name implies, VMware is a Virtual Machine software developed by VMware Inc. Often people use the brand name VMware for a lot of its products, and this can be misleading. VMware develops multiple virtualization products and sometimes they bundle them together and market it under a new name.

VMware Solutions

Virtual Machines are mostly used by hosting and cloud companies to divide up a larger dedicated machine and sell them as VPS or Virtual Private Servers to customers. While a Virtual Machine still runs on a host system, usually it cannot interfere with it, nor with other VMs, unless it is allowed by the host system (in which the VM is running). The host system that runs the VM (guest) can impose limits on the amount of CPU, RAM and storage a VM might use. This ensures that, for example, a customer who bought a VPS will always get their share of CPU and memory, unlike on shared hosting.

VMware developed an enterprise grade hypervisor called VMware ESXi (formerly ESX, abr. Elastic Sky X). VMware ESXi is not a simple software, you don’t install it like a program under Windows or Linux, it is more like an operating system with a kernel, which you install on a bare metal server usually. ESXi runs on x86 architecture and it does not have support for ARM based CPUs.

There were other virtualization solutions from VMware like VMware Server, which used a server client model, it was free of charge and you could install it on Windows or Linux, but it got discontinued. IT professionals and developers can now use VMware Workstation if they want to run virtual machines on top of their Windows installations.

If you come across the brand VMware while looking for a VPS hosting, it is more than likely that the hosting company uses VMware vSphere which is like a bundle of VMware ESXi as the hypervisor or host system, VMware vCenter Server and some other tools for managing and controlling the guest systems (VMs).

The performance penalty for a VPS which is running on VMware ESXi is only about 1% compared to running on bare metal or on the CPU directly without the virtualization. 1% loss on the performance is not bad if you consider that the ESXi and the VMware ecosystem can give you a lot of features, like transferring VMs from one machine to another, creating snapshots of VM, which can be restored at any time and you would have all your data and OS restored, or even launch multiple copies of the same instance, etc.

If you are an IT professional or a developer and you want to be able to run potentially unsafe code to examine it, or you need to develop code which will be run in a Linux environment but your OS of choice is Windows or vice versa, you might want to try out VMware Workstation. You can install it on Windows or Linux and start up a VM, install the operating system onto the VM and you can start working. If you are an Apple fan, then there is VMware Fusion which lets you run VM from a Mac OS host. There are still a lot of applications which will only run on Microsoft Windows and they do not have a good alternative for Mac OS, in this case a VMware Fusion running a Windows guest can be the solution.

Resource Allocation

VMware has different methods for allocating resources to VMs (VPSs), this can be a good or bad thing depending on which end you are on. If you are shopping for a VPS, you might want to ask how the resources allocated. If you are to provision a VM for your own use, it is good to know the different terms used by VMware: Limits, Shares and Reservations.

A Limit can be set on RAM or CPU and it can be a performance killer. For example, in terms of RAM if a VM is set up with 2GB of RAM and with a 1GB of Limit on RAM. This means that the OS in the VM will see 2GB of RAM and probably it will try to use it, but because of the Limit it can only take 1GB of real RAM from the host, the rest will be swapped. In other words, the Host will allocate the rest of the RAM (1GB) from the storage. This comes with a huge performance hit, because the storage can be up to 100x slower than RAM.

A reservation is quite the opposite of the limit. If a VM is provisioned with 2GB of RAM and 2GB is reserved, this means that no matter what happens on the host system the VM will have its 2GB of RAM reserved to it. This is true in case of the CPU as well. For the CPU, it is defined in MHZ, and it guarantees that the VM will have that amount of clock cycles, it can consume more, but will have at least that amount available to it.

Shares come into play when there is competition for a resource. For example, in case of the CPU all VMs are equal by default, unless shares are defined. If two VMs compete for the same physical CPU core, and both have 1000 shares, then they get 50% of the CPU, however, if one VM has 1000 shares, while the other has 4000, then the first VM will only get 20% of the CPU, but the other will have 80% of it. With shares, you can define which VM is more important and allocate resources accordingly when there is a contention.

As you can see, the VMware ESXi allows a sort of “overselling”, so if you are looking for a VPS to rent and you have doubts, contact the hosting provider to clarify the resource allocation upfront.

Conclusion

VMware is a software company whose main area is Virtual Machines and hypervisors. Its name became synonymous with Virtual Machines and VPSs. They offer a wide range of products and services, but their main product is still the VMware ESXi, which is a hypervisor that runs on bare metal x86 based servers, and it manages and runs a wide range of guest Operating Systems. VMware is the industry standard when it comes to virtualization, they are not the cheapest ones, but nonetheless they are the best in this area.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on RedditPin on Pinterest