Difference Between VMware vSphere, ESXi, vSphere Client and vCenter

Virtualization has been a buzz word for some time now in cloud and data center environments. VMware has not only pioneered this amazing technology but also constantly bringing innovative and cutting-edge virtualization solutions to the market such as vCloud, NSX, virtual SAN, Horizon, AirWatch, Mirage among others.

Engineers new to virtualization often tend confuse the entities such as VMware ESXi, vSphere, vShere client and vCenter. These are all very simple components (at system level) that constitute a fully functional virtualized environment enabling server consolidation, hardware optimization, cooling cost reduction, plus providing easy application deployment and migration in the data center. Let’s understand them in this post.

vSphere is a software suite inside which are the components — ESXi, vShere Client and vCenter. A good analogy is Microsoft Office which contains applications such as MS Word, MS Excel, MS PowerPoint, MS One, MS Outlook client etc. There’s no product named vSphere. It’s just a name given to the collection of ESXi, vSphere Client and vCenter applications.

What does each component of the vSphere do? Let’s dissect.

ESXi

ESXi is the heart of the hardware virtualization. It’s the hypervisor (virtualizing software layer) that abstracts away the underlying hardware enabling us to run multiple virtual machines (OS instances) simultaneously (in parallel). It’s a Type-1 hypervisor, meaning ESXi runs right on top of the bare-metal (processor) and manages all the resources (CPU, memory, storage, and network) constructively without needing another OS to manage it.

We install the VMware ESXi on the server machine and assign it with the host name, management IP address, gateway, and DNS server address. During installation we provide the password for the root user of ESXi, the credentials of which is used to access, manage and provision the virtual machines through a client software such as vSphere client.

vSphere Client

vmware-vsphere-clientESXi (VMware server) is accessed through a client machine (e.g. Administrator laptop) using vSphere Client. So vSphere Client is a small client software that acts as a window into the VMware’s massive virtualization platform (ESXi).

vSphere asks three things — IP address/hostname, Username (typically root) and Password of the ESXi server. Once the user gets authenticated, it provides the interface to create, manage, and access virtual machines.

Do note that all the communication between ESXi and vSphere Client is encrypted using the SSL cryptographic standard.

vCenter

ESXi and vSphere Client have been serving us promptly. However there’s one major drawback with the vSphere Client: only one ESXi server can be accessed at any given time from within the vSphere Client. vCenter came to solve this problem, but added far more capability in the way ESXi servers are managed.

vCenter server is similar to vSphere client but it’s a server with more power. vCenter server is installed on Windows Server or Linux Server.

VMware vCenter server is a centralized management application that lets you manage virtual machines and ESXi hosts centrally. vSphere client is used to access vCenter Server and ultimately manage the ESXi servers. vCenter server is compulsory for enterprises to have enterprise features like vMotion, VMware High Availability, VMware Update Manager and VMware Distributed Resource Scheduler (DRS). For example, you can easily clone existing virtual machine in vCenter server. So vCenter is another important part of vSphere package. We have to buy the vCenter license separately.

vSphere-product-suite

Image credit: Mustbegeek

The diagram above shows vSphere suite in a more descriptive way. vSphere is a product suite, ESXi is a hypervisor installed on a physical machine. vSphere Client is installed on laptop or desktop PC and is used to access ESXi Server to install and manage virtual machines on ESXi server. vCenter server is installed as virtual machine on top of ESXi server. vCenter server can also be installed on different standalone physical server, but why not virtualize it too right? vCenter server is a vSphere component which is mostly used in large environment where there are many ESXi servers and dozens of virtual machines. The vCenter server is also accessed by vSphere client for management purpose. So, vSphere client is used to access ESXi server directly in small environment. In larger environment, vSphere client is used again to access vCenter server which ultimately manages ESXi server.