IP Library Granted Patent US 10,095,545
Granted Patent B1
US 10,095,545 · App. 15/280,766 · Granted Oct 9, 2018

Automated and configurable fleet refresh

Inventors: Diwakar Gupta (Seattle, WA); Robert Beazley (Seattle, WA); Alexey Gadalin (Kirkland, WA); Mihir Sadruddin Surani (Seattle, WA); Scott Sikora (Seattle, WA); Anton Valter (Bellevue, WA)
Assignee: Amazon Technologies, Inc.
G06F9/4881G06F9/45558G06F2009/45562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,095,545
App. No.
15/280,766
Granted
Oct 9, 2018
Kind
B1
Abstract

Techniques for managing large-scale automatic fleet refresh operations are described herein. An application programming interface request to perform a refresh operation on a set of computer system instances is received. The application programming interface request includes a set of constraints for performing the refresh operation which are used to determine the impact of performing the refresh operation. Based at least in part on the impact, a set of schedules for performing the refresh operation is provided.

Claims (54)

1. A computer-implemented method, comprising:

under control of one or more computer systems configured with executable instructions,

receiving, from a customer device of a customer of a computing resource service provider, an application programming interface request to perform a refresh operation for a fleet of computer system instances of the customer, the request specifying a set of computer system instances in the fleet and a set of constraints for performing the refresh operation;

analyzing the request to determine, based at least in part on the set of constraints, a set of impact values, wherein an individual impact value of the set of impact values indicates an impact of performing the refresh operation on capacity of the fleet, an amount of time to perform the refresh operation, or an amount of additional resources utilized to perform the refresh operation in accordance with the set of constraints;

determining, based at least in part on the set of impact values, a set of schedules for performing the refresh operation;

providing the set of schedules to the customer device;

receiving, from the customer device, information indicating a selected schedule from the set of schedules; and

performing the refresh operation in accordance with the selected schedule.

2. The computer-implemented method of claim 1 , wherein the refresh operation comprises at least one of: a virtual machine instance patch operation, a virtual machine instance specification change operation, a virtual machine instance size change operation, a virtual machine instance rebuild operation, or a virtual machine instance hardware change operation.

3. The computer-implemented method of claim 1 , wherein the computer system instances are virtual computer system instances managed by a virtual computer system service of the computing resource service provider.

4. The computer-implemented method of claim 1 , wherein the additional resources are additional computer system resources to be provisioned to prevent a degradation of capacity of the fleet.

5. A system, comprising:

one or more processors; and

memory storing instructions that, as a result of execution by the one or more processors, cause the system to:

receive an application programming interface request to perform a refresh operation, the request specifying a set of computer system instances and a set of constraints for performing the refresh operation;

analyze the request to determine, based at least in part on the set of constraints, a set of impact values for performing the refresh operation for the set of computer system instances;

determine, based at least in part on the set of impact values, a set of schedules for performing the refresh operation; and

provide the set of schedules for selection.

6. The system of claim 5 , wherein the instructions include instructions that, as a result of execution by the one or more processors, cause the system to:

receive a schedule selected from the set of schedules;

determine, based at least in part on the schedule and the set of constraints, a first subset of the set of computer system instances;

begin the refresh operation on each computer system instance of the first subset of the set of computer system instances; and

for each computer system instance of the first subset of the set of computer system instances:

monitor the computer system instance to determine whether the refresh operation has completed; and

begin the refresh operation on a computer system instance of a second subset of the set of computer system instances, the second subset different than the first subset.

7. The system of claim 5 , wherein the set of computer system instances is hosted by a customer of a computing resource service provider.

8. The system of claim 5 , wherein the computer system instances are virtual machine instances managed by a virtual computer system service of a computing resource service provider.

9. The system of claim 5 , wherein the refresh operation is a virtual machine instance patch operation, the virtual machine instance patch operation specifying instructions that, as a result of execution by the one or more processors, cause the system to, for each computer system instance of the set of computer system instances:

disable network access to the instance;

apply a patch to the instance, the patch specified in the refresh operation; and

restore network access to the instance.

10. The system of claim 5 , wherein the refresh operation is a virtual machine instance patch operation, the virtual machine instance patch operation specifying instructions that, as a result of execution by the one or more processors, cause the system to, for each computer system instance of the set of computer system instances:

save a state of the instance;

instantiate a new instance based at least in part on an instance specification specified in the refresh operation;

apply the state to the new instance; and

terminate the instance.

11. The system of claim 5 , wherein the set of impact values includes an impact value indicating an amount of additional resources utilized to perform the refresh operation in accordance with the set of constraints.

12. The system of claim 5 , wherein the instructions further include instructions that, as a result of execution by the one or more processors, cause the system to perform the refresh operation in accordance with a schedule selected from the set of schedules.

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

determine, based at least in part on a set of constraints, a set of impact values for performing a refresh operation for a set of computer system instances;

determine, based at least in part on the set of impact values, a set of schedules for performing the refresh operation, the set of schedules comprising a first schedule for a first way of performing the refresh operation for the set of computer system instances and a second schedule for a second way of performing the refresh operation for the set of computer system instances; and

provide the set of schedules for selection.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the second schedule is produced from the first schedule by relaxing one or more constraints of the set of constraints.

15. The non-transitory computer-readable storage medium of claim 13 , wherein an individual impact value of the set of impact values indicates an impact of performing the refresh operation on capacity the set of computer system instances, an amount of time to perform the refresh operation, or an amount of additional resources utilized to perform the refresh operation in accordance with the set of constraints.

16. The non-transitory computer-readable storage medium of claim 13 , wherein:

the refresh operation is a computer system instance rebuild operation; and

the set of computer system instances is selected from a fleet of computer system instances based at least in part on an elapsed time since a previous computer system instance rebuild operation was performed on the computer system instances of the set of computer system instances.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the set of computer system instances is selected from a fleet of computer system instances based at least in part on an instance type associated with the computer system instances.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the set of computer system instances is selected from a fleet of computer system instances based at least in part on a corresponding state associated with each computer system instance of the set of computer system instances.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further include executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

receive a schedule selected from the set of schedules;

perform the refresh operation on a first subset of the set of computer system instances, the first subset based at least in part on the schedule; and

perform the refresh operation on a second subset of the set of computer system instances, the second subset based at least in part on the schedule, the second subset different than the first subset.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the set of constraints includes a cost constraint, the cost constraint specifying a maximum resource cost of additional resources utilized to perform the refresh operation in accordance with the set of constraints.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: GUPTA, DIWAKAR; BEAZLEY, ROBERT; GADALIN, ALEXEY; SURANI, MIHIR SADRUDDIN; SIKORA, SCOTT; VALTER, ANTON
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 041104/0275 →
Cited By (2)
US 12,380,223 US 12,411,616