Autonomous application-level auto-scaling in a cloud
AssigneeAdobe Systems Incorporated
InventorJames Donahue
Life of this patent
Estimating the term…
Abstract
A method and system for application-level auto-scaling in a cloud computing environment is provided. An example system includes a data collector and a scaling module. The data collector is to collect application-level data that reflects demand for a subject computing application executing on the virtual instance of a machine provided by a virtualization service. The scaling module is to select a scaling action based on the application-level data and issue a request to perform the scaling action with respect to the virtual instance of a machine.
Claims18
A method comprising:
- a virtual instance of a machine provided within a virtualization service, collecting application-level data, the application-level data reflecting demand for a subject computing application executing on the virtual instance of the machine, wherein the subject computing application executes on a plurality of virtual instances each having a corresponding scaling module that performs scaling decisions;
- selecting, via the virtual instance of the machine, a scaling action based on the application-level data using at least one processor coupled to a memory;
- locking a database row within a database, the database row associated with the subject computing application;
- verifying that another scaling module executing at another virtual instance within the plurality of virtual instances has not performed the scaling action within a predetermined time period based on information stored in the database;
- and
- issuing a request to perform the scaling action with respect to the virtual instance of a machine, the scaling action comprising terminating the virtual instance of the machine or instantiating a new virtual instance of the machine, the new virtual instance of the machine executing the subject computing application.
A system comprising:
- a memory;
- at least one processor coupled to the memory;
- a data collector to collect, using the at least one processor, at a virtual instance of a machine provided within a virtualization service, application-level data, the application-level data reflecting demand for a subject computing application executing on the virtual instance of the machine, wherein the subject computing application executes on a plurality of virtual instances each having a corresponding scaling module that performs scaling decisions;
- and
- a scaling module within the virtual instance of the machine to:
- select a scaling action based on the application-level data,
- lock a database row within a database, the database row associated with the subject computing application;
- verify that another scaling module executing at another virtual instance within the plurality of virtual instances has not performed the scaling action within a predetermined time period based on information stored in the database, and
- issue a request to perform the scaling action with respect to the virtual instance of the machine, the scaling action comprising terminating the virtual instance of the machine or instantiating a new virtual instance of the machine, the new virtual instance of the machine executing the subject computing application.
A machine-readable non-transitory storage medium having instruction data to cause a machine to:
- collect, using the at least one processor, at a virtual instance of a machine provided within a virtualization service, application-level data, the application-level data reflecting demand for a subject computing application executing on the virtual instance of the machine, wherein the subject computing application executes on a plurality of virtual instances each having a corresponding scaling module that performs scaling decisions;
- select, at the virtual instance, a scaling action based on the application-level data;
- locking a database row within a database, the database row associated with the subject computing application;
- verify that another scaling module executing at another virtual instance within the plurality of virtual instances has not performed the scaling action within a predetermined time period based on information stored in the database;
- and
- issue a request to perform the scaling action with respect to the virtual instance of the machine, the scaling action comprising terminating the virtual instance of the machine or instantiating a new virtual instance of the machine, the new virtual instance of the machine executing the subject computing application.
Dependencies are inferred from the claim text.