Machine manager for deploying and managing machines
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A machine manager controls the deployment and management of machines for an online service. The machine manager is configured to manually/automatically deploy farms, upgrade farms, add machines, remove machines, start machines, stop machines, and the like. The machine manager keeps track of the locations of the machines, the roles of the machines within the networks, as well as other characteristics relating to the machines (e.g. health of the machines). Instead of upgrading software on the machines in a farm that are currently handling requests, one or more machines are configured in a new farm with the selected disk images and then the requests are moved from the old farm to the new farm.
-
Citations
17 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium, excluding a signal, having computer-executable instructions for deploying farms for an online service, comprising:
-
storing by a central service that manages an online content management services 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;
wherein deploying the new farm replaces one of the farms within one of the networks; andfrom 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 within databases for an old farm being replaced within a same network of the new farm while continuing to allow reads and writes to the databases being backed up;
copying the backed up databases to the new farm while continuing to allow reads and writes to the data previously backed up in the old farm;
updating the databases copied to the new farm with any data that changed on the databases in the old farm since a time the databases were backed up on the old farm;
provisioning software on the machines within the farm using a same version of virtual hard disk (VHD) image;
starting the machines; and
directing traffic to the new farm. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for deploying farms for an online service, comprising:
-
a network comprising servers and databases;
wherein the servers are arranged in farms that each perform a role;
wherein the farms comprise content farms, federated services farms and SQL farms;a processor and a computer-readable storage medium; an operating environment stored on the computer-readable medium and executing on the processor; and software that is operative to; store a configuration of machines in farms of different networks for the 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 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;determine when to deploy a new farm within one or more of the networks; and automatically starting a process to deploy the new farm within one of the networks;
wherein deploying the farm comprises;
backing up data within databases for an old farm being replaced within a same network of the new farm while continuing to allow reads and writes to the databases being backed up copying backed up databases from an old farm to the new farm while continuing to allow reads and writes to the data previously backed up in the old farm;
marking the databases as read only on the old farm while updating the databases copied to the new farm with any data that changed on the databases in the old farm since a time the databases were backed up on the old farm;
provisioning software on the machines within the farm using a same version of virtual hard disk (VHD) images;
starting the machines; and
directing traffic to the new farm. - View Dependent Claims (17)
-
Specification