What is a hypervisor?
A hypervisor is a piece of software usually not very big in terms of compute or storage footprint, which makes server virtualization possible. It forms an abstraction layer between the server's hardware resources and the operating system containers. There are two types of hypervisors defining two different types of approaches:
- Type 1 hypervisor (bare-metal hypervisor)
- Type 2 hypervisor (hosted hypervisor)
A type 1 hypervisor is installed directly on the server hardware as you would install an operating system on any hardware. Hence it is referred to as a bare-metal hypervisor. It interfaces directly with the hardware. This empowers it to effectively manage sharing of the server hardware resources, among the virtual machines:
Examples of a type 1 hypervisor are VMware ESXi, Microsoft Hyper-V, and Citrix XenServer.
A type 2 hypervisor cannot be installed directly on server hardware. It is installed as a piece of software on any of the supported conventional operating systems such as Apple OS X, Microsoft Windows, or Linux. It leverages the underlying operating systems ability for resource management. The performance of a type 2 hypervisor is considered to be lower than that of a type 1 hypervisor. This is due to the fact that it cannot directly interface or manage the server's hardware resources:
Examples of a type 2 hypervisor include VMware Workstation, VMware Fusion, Parallels Desktop, and Virtual Box.
VMware ESX hypervisor
ESX is VMware's proprietary hypervisor. It is the foundation that enables virtualization of your data center.
VMware released their first hypervisor in the year 2001 and it was simply called ESX. They did release a second version, ESX 1.1, the same year and ESX 1.5 in 2002. After that there were several major version releases, ESX 2.0 in 2003 and ESX 2.5 in 2004. In 2006 they released VMware Infrastructure 3, which was their first product suite that included ESX 3.0, followed by several product suite releases - VMware Infrastructure 3.5, VMware vSphere 4.0 in 2009, vSphere 4.1 in 2010, vSphere 5.0 in 2011, vSphere 5.1 in 2012, vSphere 5.5 in 2013, and vSphere 6 in 2015. All of the releases have seen new features and improvements that continue to revolutionize our modern day data centers.
Before the release of VMware ESX 3.5, VMware had a Linux-based Service Console packaged along with the hypervisor. The Service Console was VMware's Linux-based console operating system, which provided a management interface to the ESX server. Meaning that if you were to assign an IP address to the ESX server, then it was the Service Console that had the IP address configured on it. It was the sole management interface. It was also used as a command-line workspace and a platform to load third-party management agents. Since it was based on a Linux operating system, the Service Console brought with it all the bugs, security issues which that particular Linux release had. This is not to say that Linux is buggy, but it did bring in the most common bugs that you see in a conventional operating system into the ESXi package. VMware had to periodically release security fixes for the Service Console component.
With the release of version 3.5, VMware also released a hypervisor-only model. The hypervisor-only model no longer had the Linux-based Service Console packaged with it, making it considerably small in terms of both compute and storage footprint. It was small enough to be embedded into the server motherboards, by storing the ESXi in flash storage chips. It also allowed ESXi to be loaded onto a USB bootable device. One of the prime advantages of ESXi was that it exposed very little surface area for security attacks. VMware called the ESX with Service Console ESX and the hypervisor-only model, ESXi. The ESX version with the Service Console was commonly referred to as ESX Classic and the hypervisor-only model was embedded.
VMware hypervisor models
VMware's type-1 hypervisor or VMKernel had two different models. One of them is the older ESX classic model and the other is a subsequent hypervisor-only model (ESXi).
Although the ESX Classic model had the same VMKernel component, it also used an RHEL-based console operating system that ran in a privileged mode enabling the management of ESX. It was primarily used to provide a command-line interface for ESX, but was also used to run host management agents, third-party agents like that of a hardware monitoring or a system management agent, backup agents. VMware no longer makes the classic model of ESX, because it posed a larger surface area for security attacks. VMware had to frequently release patches to secure the console operating system, whilst only a few number of patches were required for the actual hypervisor component-VMKernel. The presence of the console operating system also meant a larger compute and storage footprint for ESX:
The ESX Hypervisor-only model (ESXi) does not have the console operating system, making it small enough to be embedded on motherboards or held in a USB thumb drive. And more importantly, it is more secure as it only exposed a very small surface area for security attacks. ESXi was first introduced with the release of ESX 3.5. It then had both the ESX classic and ESXi versions available. Starting with vSphere 5, VMware no longer makes the ESX classic version:
With ESXi, most of the functionalities that were available via agents running at the Console OS, have now been replaced with supporting frameworks built into VMKernel, making those functionalities agentless.