Patent ID: 8751656

Claim:
A method for managing servers in an online service, comprising: storing by a central service a configuration of machines in different networks for an online service, wherein the configuration includes a location of each of the machines that includes a rack location of the machine and roles of the machines in the networks; wherein the machines are arranged within farms within each of the networks, wherein the role is used to determine one or more virtual machines to install the machines, wherein the configuration stores a goal for each of the farms and a role for each of the farms; determining when to deploy a new farm within one or more of the networks; and from the central service automatically starting a process to deploy the new farm within one of the networks; wherein deploying the farm comprises: backing up data for an old farm being replaced within a same network of the new farm while continuing to allow reads and writes to the data being backed up; copying the backed up data to the new farm while continuing to allow reads and writes to the data previously backed up in the old farm; updating the data copied to the new farm with any data that changed on the old farm since a time the data was backed up on the old farm; provisioning software on the machines within the farm using virtual hard disk (VHD) images; starting the machines; and directing traffic to the new farm.