US 12,487,810 B2
Mechanisms for selecting node upgrade order
Shrikant Thakare, Burlington, MA (US); Maxence Weyrich, San Francisco, CA (US); Hemanth Siddulugari, Dublin, CA (US); Julian Chow, San Francisco, CA (US); and Shivakarthik Subramanyam, Dublin, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Nov. 15, 2022, as Appl. No. 18/055,624.
Prior Publication US 2024/0160428 A1, May 16, 2024
Int. Cl. G06F 8/65 (2018.01); G06F 9/48 (2006.01)
CPC G06F 8/65 (2013.01) [G06F 9/4881 (2013.01)] 18 Claims
OG exemplary drawing
 
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.