Update and rollback of code and API versions
AssigneeAmazon Technologies, Inc.
InventorAndrew Christopher Chud
Life of this patent
Estimating the term…
Abstract
Technologies are described for determining when an updated version of a configuration of a computing resource may be rolled back to a previous version. The computing resource can include code for a function or the computing resource can be used to implement calls of an API. In some cases, the computing resource can be tagged to indicate that rollback functionality is applicable to the computing resource. The rollback to a previous version of code for a function or a previous version of an API may take place based on a rollback condition being satisfied that is related to error rates that take place when updated versions of a function or an API are utilized. The systems and methods described herein may be implemented in conjunction with a cloud-based storage system.
Claims20
A system, comprising:
- one or more processors;
- and
- at least one non-transitory computer-readable storage medium having instructions stored thereupon which, when executed by the one or more processors, cause the system to perform operations comprising:
- storing a function of a customer in a data store of a service provider, wherein the function of the customer includes a first version of code, the first version of the code is stored in association with an account of the customer with the service provider, and the service provider provides a serverless computing environment for executing the first version of the code;
- obtaining a second version of the code from the customer, wherein the second version of the code is updated with respect to the first version of the code;
- determining a rollback condition for the second version of the code based at least partly on an input obtained from the customer;
- receiving requests via the serverless computing environment to execute the function of the customer;
- identifying computing resources and memory resources of the serverless computing environment to execute the function of the customer in response to the requests;
- monitoring execution of the function of the customer with the second version of the code utilizing the computing resources and the memory resources of the serverless computing environment;
- determining that a number of the requests are associated with an error during execution of the function of the customer with the second version of the code;
- determining that the number of the requests satisfies the rollback condition for the second version of the code;
- generating a notification to the customer indicating that the rollback condition for the second version of the code has been satisfied;
- and
- causing subsequent requests to execute the function of the customer to utilize the first version of the code.
A computer-implemented method, comprising:
- providing, by a service provider, a serverless computing environment;
- updating a first version of code for a function via the serverless computing environment to produce a second version of the code for the function, wherein the first version of the code for the function and the second version of the code for the function are stored in association with an account of a customer of the serverless computing environment;
- determining a rollback condition for the second version of the code for the function;
- determining that the rollback condition is satisfied based at least partly on a threshold number of requests to execute the function utilizing the second version of the code for the function resulting in an error;
- and
- executing, based at least partly on the rollback condition being satisfied, the function utilizing the first version of the code for the function in response to subsequent requests to execute the function.
A computer-implemented method, comprising:
- providing, by a service provider, a serverless computing environment and an online tool to design an application programming interface (API);
- updating via the online tool a first version of the API to a second version of the API;
- causing the second version of the API to be accessible to a plurality of computing devices;
- determining a rollback condition for the second version of the API based at least partly on at least one of an error rate of requests utilizing first calls of the first version of the API or an input obtained from a customer of the online tool;
- receiving a plurality of requests corresponding to second calls of the second version of the API;
- determining that a rollback condition has been satisfied based at least partly on a threshold number of the plurality of requests resulting in an error;
- and
- based at least partly on the rollback condition being satisfied, providing, by the online tool, a notification to the plurality of computing devices to utilize the first version of the API for subsequent requests.
Dependencies are inferred from the claim text.