Patent ID: 8856800

Claim:
A method comprising: deploying a first enterprise service bus (ESB) instance at a first node comprising a plurality of services; tracking performance of the first ESB instance by an ESB load balancer executing by a processing device; tracking, by ESB load balancer, individual service usage of the plurality of services installed at the first node, wherein the tracking comprises regularly receiving, at the ESB load balancer, a report from the first node, each report containing a list of the plurality of services installed on the first node and corresponding utilization of the first node's resources by each of the installed services; determining that a first service of the plurality of services falls below a threshold by the ESB load balancer; deploying at a second node, by the ESB load balancer, a second ESB instance comprising a first duplicate service for the first service of the first ESB instance that falls below the threshold, wherein the second ESB instance is deployed without user intervention; tracking performance of the second ESB instance by the ESB load balancer; tracking, by the ESB load balancer, individual service usage of the first duplicate service installed at the second node, wherein the tracking the individual service usage of the first duplicate service comprises receiving, at the ESB load balancer, a second report from the second node, the second report containing a corresponding utilization of the second node's resources by the first duplicate service; receiving at the ESB load balancer an incoming message directed to a given type of service, wherein the first service and the first duplicate service are the given type of service; determining which of the first service and the first duplicate service is a least-used service of the given type, wherein the least-used service has a lowest service usage of the tracked individual service usage; and forwarding the incoming message to the ESB instance having the least-used service of the given type.