An Architecture for Virtual Server Farms

We generalize the traditional physical, customer-dedi cated application server in server farms to a logical, distributed counterpart. The virtual servers thus defined break traditional, static boundaries epar ating resources (such as physical servers or static partition s thereof) dedicated to customers, and open up new degr ees of freedom for optimized and shared use of server far m resources. An additional benefit of shared resources is the substantial savings in redundant capacity required for h andling the peak loads of independent customers of the farm – the probability of acing simultaneous peaks goes down m ultiplicatively. This benefit derives from the observation that, typically, the customer’s load is de termined ynamically, and that redundancy has to be bui lt at the level of each static resource unit dedicated to a customer (a unit may individually get overloaded, eve n while other units are not). By co-allocating components of independent virtual servers on the same physical serv er, and by keeping the boundaries between the co-allocations dyn amic, the redundancy requirement on the physical server is hared and brought down. We propose an archi tecture for a server farm based on this notion of vir tual servers. Our system has the benefit of supporting custom er-specific Service Level Agreements (SLAs) in terms of simple metrics of user-generated load. Customers n eed not know about he deployment and configuration details inside the server farm, but simply need to spec ify the functionality sought by them and negotiate a ( loadbased) price. Resource deployment, management, and oper ation are then the responsibilities of the server far m, while the customer is billed for actual usage as per the SLA. We describe the architecture of the virtual ser ver farm and iscuss its management and operational detai ls.