| CPC G06F 8/65 (2013.01) [G06F 9/4881 (2013.01)] | 18 Claims |

|
1. A method of updating a plurality of virtual machines (VMs) that implements a service, the method comprising:
detecting, by an upgrade controller executing on a computer system, that an updated image has been created that is an update to a previous image used to deploy the plurality of VMs into an environment associated with the upgrade controller;
determining, by the upgrade controller, a controlled upgrade order in which to upgrade the plurality of VMs, wherein the determining includes:
accessing, for a first one of the plurality of VMs, a plurality of ranks assigned to a plurality of application pods executing on the first VM, wherein each of the plurality of application pods includes a respective instance of a ranking service that assigns a rank to that application pod;
determining a node rank for the first VM based on the plurality of ranks, wherein the controlled upgrade order is determined based on the node rank; and
upgrading, by the upgrade controller, the plurality of VMs according to the controlled upgrade order, wherein upgrading the first VM includes:
deploying a second VM based on the updated image; and
evicting the plurality of application pods from the first VM and redeploying the plurality of application pods onto the second VM.
|