1. A system for computing an optimal deployment of at least one web application in a multi-datacenter system, comprising: a collector for collecting performance measurements with regard to a web application executed in the multi-datacenter system and grouping the performance measurements according to locations of a plurality of clients accessing the web application; a data repository for maintaining at least a performance table including at least the performance measurements grouped according to the plurality of client locations, the data repository further including a service level agreement (SLA) guaranteed to clients in the plurality of client locations, the performance table lists the plurality of client locations and datacenters in the multi-datacenter system, wherein the performance table includes for each pair of a datacenter and a client location at least a projected transaction time (TT) and for each client location a guaranteed SLA to clients in the client location and a dynamic weight (W) determined based on a load generated by clients in the client location, the performance table designates for each datacenter at least a maximum capacity (MC) variable defining a maximum capacity for at least one of: computation resources, available memory and storage, and available bandwidth of the datacenter, wherein the projected TT is derived based on measured server transaction time (STT) and round-trip time (RTT); and an analyzer for processing at least information stored in the performance table for generating a recommendation on an optimal deployment of the web application in at least one combination of datacenters in the multi-datacenter system by computing an expected SLA that can be guaranteed to the clients in each combination of datacenters, wherein the recommendation on the optimal deployment is generated when the computed expected SLA satisfies the SLA guaranteed to the clients.