Managing continuous software deployment
First Claim
1. A computer-implemented method for deploying code, the computer-implemented method comprising performing computer-implemented operations for:
- receiving the code, the code corresponding to an update for software hosted by a data center;
producing a build virtual hard drive comprising data for updating the software, wherein producing the build virtual hard drive further comprisescreating a build virtual hard drive,preparing a new virtual machine for deployment,installing the code on the new virtual machine, wherein new virtual machine comprises,creating a differencing disk comprising data indicating a difference between a first version of the software and a second version of the software based upon the code,linking the differencing disk to a virtual hard drive on which the software is hosted,starting a virtual machine based upon the build virtual hard drive, andpreparing the virtual hard drive for distribution;
deploying the build virtual hard drive at the data center;
performing traffic management to manage traffic to one or more virtual hard drives hosted by the data center;
determining if a performance degradation is detected; and
if a performance degradation is detected, rerouting the traffic of at least one of the virtual hard drives to prepare for a rollback deployment.
2 Assignments
0 Petitions
Accused Products
Abstract
Concepts and technologies are described herein for managing continuous software deployment. A deployment controller can manage deployment of code to a data center. The deployment controller can execute workflows for checking in, verifying, deploying the code, or other processes. The code can be deployed using a differencing disk that includes data indicating changes between software hosted by the data center and a version of software resulting from deployment of the code. The differencing disk can be linked to the disk or virtual resource hosting the software and executed collectively to provide an updated version of the software. Traffic to one or more virtual machines of the data center can be controlled by the deployment controller. If errors are detecting during deployment or after updating, the update can be rolled back.
77 Citations
13 Claims
-
1. A computer-implemented method for deploying code, the computer-implemented method comprising performing computer-implemented operations for:
-
receiving the code, the code corresponding to an update for software hosted by a data center; producing a build virtual hard drive comprising data for updating the software, wherein producing the build virtual hard drive further comprises creating a build virtual hard drive, preparing a new virtual machine for deployment, installing the code on the new virtual machine, wherein new virtual machine comprises, creating a differencing disk comprising data indicating a difference between a first version of the software and a second version of the software based upon the code, linking the differencing disk to a virtual hard drive on which the software is hosted, starting a virtual machine based upon the build virtual hard drive, and preparing the virtual hard drive for distribution; deploying the build virtual hard drive at the data center; performing traffic management to manage traffic to one or more virtual hard drives hosted by the data center; determining if a performance degradation is detected; and if a performance degradation is detected, rerouting the traffic of at least one of the virtual hard drives to prepare for a rollback deployment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for deploying code at a data center, the computer-implemented method comprising performing computer-implemented operations for:
-
receiving the code at the data center, the code corresponding to an update for software hosted by the data center; producing a build virtual hard drive comprising data for updating the software hosted by the data center, wherein producing the build virtual hard drive comprises executing a workflow at the data center for creating a build virtual hard drive, preparing a virtual machine for deployment, installing the code on the new virtual machine, wherein installing the code on the new virtual machine comprises creating a differencing disk comprising data indicating a difference between a first version of the software and a second version of the software based upon the code, linking the differencing disk to a virtual hard drive on which he software is hosted, starting the new virtual ac n the new virtual machine being based upon the build virtual hard drive, and preparing the virtual hard drive for distribution to the one or more virtual hard drives; deploying the build virtual hard drive on at least one virtual machine hosted by the data center; performing traffic management to manage traffic to one or more virtual hard drives hosted by the data center; determining if a performance degradation is detected; and if a performance degradation is detected, rerouting the traffic of at least one of the virtual hard drives to prepare for a rollback deployment. - View Dependent Claims (11, 12)
-
-
13. A computer storage medium having computer readable instructions stored thereupon that, when executed by a computer, cause the computer to:
-
receive the code at the data center, the code corresponding to an update for software hosted by the data center, the update comprising at least one of a patch for the software or an upgrade for the software; produce a build virtual hard drive comprising computer-executable code for updating the software hosted by the data center, wherein producing the build virtual hard drive further comprise instructions for executing a workflow to create a build virtual hard drive, prepare a virtual machine for deployment, install the code on the new virtual machine, create a differencing disk comprising data indicating a difference between a first version of the software and a second version of the software based upon the code, link the differencing disk to a virtual hard drive on which the software is hosted, start the new virtual machine, the new virtual machine being based upon the build virtual hard drive, and prepare the virtual hard drive for distribution to the one or more virtual hard drives; utilize the differencing disk to deploy the build virtual hard drive on at least one virtual machine hosted by the data center; perform traffic management to manage traffic to one or more virtual hard drives hosted by the data center; determine if a performance degradation is detected; and if a performance degradation is detected, reroute the traffic of at least one of the virtual hard drives to prepare for a rollback deployment.
-
Specification