A method comprising, at a load balancer connected to one or more physical machines : accessing performance information describing a plurality of virtual machines (30a-30d) running on the physical machines, the plurality of virtual machines using one or more physical resources to support servers for receiving and responding to requests received from clients, the performance information associating each virtual machine with a corresponding physical resource used by the virtual machine; determining use of resources by the plurality of virtual machines from the performance information; determining availability of the one or more physical resources according to the use by the plurality of virtual machines; and distributing server load according to the determined availability of the one or more physical resources, wherein distributing server load comprises forwarding client requests received at the load balancer from clients connected to the load balancer to the servers at the virtual machines; the method further comprising: maintaining a predetermined number of idle servers, wherein an idle server is a server ready to but not currently processing load; the maintaining comprising: if there are fewer than the predetermined number of idle servers, powering up a physical machine with one or more additional servers in idle mode to operate as idle servers ready to process load; and if there are more than the predetermined number of idle servers, placing a physical machine comprising one or more idle servers in a power saving mode. accessing performance information describing a plurality of virtual machines (30a-30d) running on the physical machines, the plurality of virtual machines using one or more physical resources to support servers for receiving and responding to requests received from clients, the performance information associating each virtual machine with a corresponding physical resource used by the virtual machine; determining use of resources by the plurality of virtual machines from the performance information; determining availability of the one or more physical resources according to the use by the plurality of virtual machines; and distributing server load according to the determined availability of the one or more physical resources, wherein distributing server load comprises forwarding client requests received at the load balancer from clients connected to the load balancer to the servers at the virtual machines; the method further comprising: maintaining a predetermined number of idle servers, wherein an idle server is a server ready to but not currently processing load; the maintaining comprising: if there are fewer than the predetermined number of idle servers, powering up a physical machine with one or more additional servers in idle mode to operate as idle servers ready to process load; and if there are more than the predetermined number of idle servers, placing a physical machine comprising one or more idle servers in a power saving mode. if there are fewer than the predetermined number of idle servers, powering up a physical machine with one or more additional servers in idle mode to operate as idle servers ready to process load; and if there are more than the predetermined number of idle servers, placing a physical machine comprising one or more idle servers in a power saving mode. <EOS>