You can add functions to vSphere by developing software applications that you register as vCenter Server extensions. A vCenter solution is an extension that registers with vCenter Server and implements some or all of the extension features of the vSphere API.

Developing and Deploying vSphere Solutions, vServices, and ESX Agents uses the terms solution and extension interchangeably.

A vSphere Solution is an object or program that you create by extending specific classes in the vSphere Web Services API. After you register your solution with the instance of the vSphere Web Services API's ExtensionManager managed object associated with your vCenter Server, you see your new solution in the Solutions Manager tab of your vSphere Web Client.

You can create a vService solution to provide access for a specific application to connect to a service across the network.

You can create an ESX Agent to extend the functions of an ESXi host and provide additional services that a vSphere solution requires.

The vServices Manager and ESX Agent Manager are pre-built solutions that are part of the Solutions Manager functionality within the vCenter Server.

The VMware ESX Agent Manager includes an API library that allows you to adapt and modify the ESX Agent Manager (EAM) Sample Solution and view it using the vSphere web client.

The extension features in the vSphere Web Services API include functions so that you can perform the following tasks:

Register permissions, faults, and events for an extension.

Identify and prevent manual operations on virtual machines and vApps that extensions deploy.

Integrate extensions with Solutions Manager.

Store data about extensions in the vSphere database.

Provide user interface plug-ins that extend the vSphere client.

To use the extension functions of the vSphere API, a solution must register itself with the ExtensionManager that runs in a vCenter Server instance. By registering with ExtensionManager, a solution can access the extension features of the vSphere extension API.

You can develop solutions that add functions to the standard functions of vCenter Server. You can deploy a solution as an Open Virtualization Format (OVF) package, with optional VMware vSphere Installation Bundles (VIB). You can also install solutions by using an installer, such as Windows Installer (MSI) or RPM Package Manager. Most of the extension functions in the vSphere API are independent of the technology that you use to deploy a solution. If you deploy a solution by using OVF, you can use the vCenter Extension vService to simplify the registration of the solution with vCenter Server.

vCenter Server 5.0 provides built-in solutions.

ESX Agent Manager

vServices Manager

ESX Agent Manager and vServices Manager are part of a standard vCenter Server installation. These solutions appear in Solutions Manager with any other solutions that register with Solutions Manager.

The vSphere SDK provides a set of APIs that you can use to register extensions with vCenter Server. To develop vSphere extensions, the most important object in the vSphere Extension API is the ExtensionManager managed object.

vCenter Solutions Manager is a view in the vSphere web client that allows you to monitor and interact with solutions that are registered with a vCenter Server instance.

A vSphere ESX agent is a virtual machine and an optional vSphere Installation Bundle (VIB) that extends the functions of an ESXi host to provide additional services that a vSphere solution requires.

vSphere ESX Agent Manager automates the process of deploying and managing vSphere ESX agents.

A vService is a service that a solution provides to specific applications that run inside virtual machines and vApps. A solution can provide several types of vServices. Virtual machines or vApps can have dependencies on several types of vServices.

vService Manager allows you to manage the set of vServices that extensions provide and to configure virtual machines and vApps to be dependent on these vServices.

The vCenter Extension vService is a standard vService that vSphere 5.0 provides. With the vCenter Extension vService you can register virtual machines as vCenter Server extensions with minimal user interaction.