IP Library › Granted Patent US 10,732,962
Granted Patent B1
US 10,732,962 · App. 16/017,113 · Granted Aug 4, 2020

End-to-end deployment infrastructure

Inventor: Dan-Constantin Florescu (Iasi, RO)
Assignee: Amazon Technologies, Inc.
G06F8/656G06F8/71G06F9/544G06F11/302G06F11/3051G06F11/3616
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,732,962
App. No.
16/017,113
Granted
Aug 4, 2020
Kind
B1
Abstract

Systems and methods as described herein may relate to the use of card pipelines in the deployment of a service and/or library change. Cards may, for example, include code and/or run-time systems that utilize the service/library component. A system such as a release controller may detect a change to a service/library component that is utilized by a plurality of cards, trigger a card pipeline to cause the execution of one or more tests, and if a test failure is attributable to the change to the service component, halt the deployment of the card pipeline, a second card pipeline (e.g., being deployed and/or tested in parallel). The order in which the card pipelines are exercised may be determined based on card quality scores generated based on quality metrics collected in association with operation of the cards over time.

Claims (34)

1. A computer-implemented method, comprising:

detecting a change to a service component utilized by a plurality of cards, a card of the plurality of cards comprising a run-time system and code, wherein the card is associated with a first quality score based on operation of the card with the service component;

selecting the card from the plurality of cards;

triggering a first pipeline associated with the card to cause one or more computing resources to execute tests to produce a second quality score; and

in response to attributing a test failure to the change to the service component based on the first quality score and the second quality score, halting a second pipeline associated with a second card of the plurality of cards.

2. The computer-implemented method of claim 1 , wherein halting the second pipeline comprises:

assuming a role associated with a set of permissions, wherein the set of permissions are sufficient to control deployment of the second pipeline; and

causing, under the assumed role, the deployment of the second pipeline to be blocked.

3. The computer-implemented method of claim 1 , further comprising rolling back the change to the service component.

4. A system, comprising at least one computing device implementing one or more services, wherein the one or more services:

detect a change to a service component utilized by a plurality of cards, a card of the plurality of cards comprising a run-time system and code, wherein the card is associated with a first quality metric;

trigger a first pipeline associated with the card to cause one or more computing resources to execute tests to produce a second quality; and

in response to attributing a failure to the change to the service component based on the first quality metric and the second quality metric, halting a second pipeline associated with a second card of the plurality of cards.

5. The system of claim 4 , wherein the instructions to detect the change to the service component include instructions that cause the system to detect a notification indicating the change to the service component.

6. The system of claim 4 , wherein attributing the failure to the change comprises comparing the first quality metric associated with operation of the card and the service component with the second quality metric associated with operation of the card and the change to the service component.

7. The system of claim 6 , wherein the first and second quality metrics are associated with performance of the card.

8. The system of claim 4 , wherein the one or more resources comprises a container.

9. The system of claim 4 , wherein halting the second pipeline comprises causing a notification to be emitted to another system that is operable to manage the one or more computing resources.

10. The system of claim 4 , wherein the code is source code.

11. The system of claim 4 , wherein the run-time is a JavaScript run-time.

12. 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:

detect a change to service code utilized by a plurality of cards, a card of the plurality of cards comprising a run-time system and code, wherein the card is associated with a first quality score based on operation of the card with the service code;

select the card from the plurality of cards;

trigger a first pipeline associated with the card to cause one or more computing resources to execute tests to produce a second quality score; and

in response to attributing a test failure to the change to the service code based on the first quality score and the second quality score, halt a second pipeline associated with a second card of the plurality of cards.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further cause the system to:

assume a role associated with a set of permissions, wherein the set of permissions are sufficient to control deployment of the second pipeline; and

block the deployment of the second pipeline under the assumed role.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions to trigger the first pipeline to cause the one or more computing resources to execute the tests are executed by the one or more processors in response to receiving a command from a client computing device.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further cause the system to select the card from the plurality of cards based on the first quality score associated with the card.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the first quality score is based on one or more operational metrics associated with the card.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the one or more operational metrics include availability of the card in response to one or more client requests.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the code is executable code.

19. The non-transitory computer-readable storage medium of claim 12 , wherein attributing the test to the change to the service code is based on a decrease in first quality score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2018
From: FLORESCU, DAN-CONSTANTIN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 046787/0928 →
Continuity (1)
Provisional Application 62656635 · Apr 12, 2018
Cited By (25)
US 12,189,787 US 12,206,688 US 12,216,786 US 12,231,460 US 12,236,491 US 12,238,183 US 12,244,703 US 12,307,878 US 12,323,744 US 12,333,612 US 12,335,282 US 12,348,374 US 12,361,805 US 12,395,505 US 12,400,655 US 12,443,514 US 12,461,741 US 12,513,167 US 12,554,836 US 12,592,944 US 12,592,945 US 12,652,227 US 12,694,104 US 12,720,162 US 12,739,107