Remote Plug-in Multi-Instance Support

The remote plug-in architecture allows for multiple instances of the same remote plug-in to be deployed within an ELM environment. Instances of a remote plug-in provide distinct server instances that are completely equivalent in function, as long as they have the same version.

Figure 1. One Plug-in instance per vCenter Server
Single plug-in instance per vCenter Server.

This topology has three instances of PluginA, such that the first plug-in server is connected to VC1, the second is connected to VC2, and the third server is connected to VC3. These plug-in servers are completely equivalent in function: the plug-in manifests that they host and the plug-in specific bits they execute are identical.

Object views will be loaded from the plug-in instance connected with the vCenter Server instance that the object belongs to. For example, if the plug-in declares a portlet on the VM summary page, then browsing VMs on VC2 will load the portlet from the second plug-in server, and browsing VMs on VC3 will load the portlet from the third plug-in server. Calls to the plug-in back end will be routed to the corresponding plug-in server instance.

Global views, however, will be aggregated in a single global view with an additional instance selector component that allows the user to choose between the global views of the different instances. A sample instance selector is shown below:

Figure 2. Selector for Single Plug-in Instance per vCenter Server

The instance selector shown above displays three back-end servers that represent the three instances of PluginA with version 1.0.0. The Plugin Instance column displays the IP address or fully qualified domain name of each plug-in instance, and the vCenter Server column displays the vCenter Server that each plug-in instance is connected to. Switching between the items in this drop-down will load the global view of the remote plug-in with version "1.0.0" from the specified plug-in instance.