Software container recommendation service
AssigneeAmazon Technologies, Inc.
InventorThomas Charles Stickle
Life of this patent
Estimating the term…
Abstract
A technology is described for a software container recommendation service. An example method may include collecting utilization metrics for an application hosted on a computing instance. The utilization metrics may be a measure of computing resources used by the application. The utilization metrics may be analyzed to determine a level of computing resources for the computing instance used by the application. A software container configuration for the application may be determined based at least in part on the utilization metrics when analysis of the utilization metrics indicates an underutilization of computing resources by the application. The specifications of the software container configuration may then be provided to a customer.
Claims20
A computer implemented method, comprising:
- under control of one or more computer systems configured with executable instructions,
- collecting utilization metrics measuring computing resources used by an application on a computing instance, using a processor;
- analyzing the utilization metrics, using the processor, to determine a level of computing resources used by the application on the computing instance;
- determining a software container configuration for the application, using the processor, when analysis of the utilization metrics indicates an underutilization of computing resources by the application based at least in part on the utilization metrics, a software container providing an isolated environment for an application on a computing instance by creating a virtual container in which the application and application dependencies are contained;
- providing specifications of the software container configuration to a customer via an API (Application Programming Interface);
- and
- generating a software container script used to create the software container for the application according to the software container configuration when executed on a computing instance selected to host the software container.
A non-transitory machine readable storage medium having instructions embodied thereon, the instructions when executed by a processor:
- collect utilization metrics for an application on a computing instance, using the processor, the utilization metrics being collected over a predetermined time period and the utilization metrics measure computing resources used on the computing instance hosting the application;
- analyze the utilization metrics using the processor to determine a level of capacity utilization of the computing instance used to execute the application and a defined capacity utilization level is used to determine whether available computing resources on the computing instance are underutilized in executing the application;
- determine a software container configuration for the application using the utilization metrics when analysis of the utilization metrics indicates an underutilization of computing resources by the application, using the processor, the software container providing an isolated environment for the application on the computing instance by creating a virtual container in which the application and application dependencies are contained;
- provide specifications of the software container configuration to a customer via an API (Application Programming Interface);
- and
- generate a software container script, using the processor, the software container script being capable of creating a software container for the application according to specifications for the software container when executed on the computing instance selected to host multiple software containers.
A system comprising:
- a processor;
- a data store for utilization metrics;
- a memory device including instructions that, when executed by the processor, cause the system to:
- collect utilization metrics for a computing instance used to execute an application and store the utilization metrics in the data store, wherein the utilization metrics measure computing resources used to execute the application;
- analyze the utilization metrics to determine a level of capacity utilization of the computing instance used to execute the application;
- determine a software container configuration based at least in part on the utilization metrics when analysis of the utilization metrics indicates an underutilization of computing resources by the application, a software container providing an isolated environment for an application on a computing instance by creating a virtual container in which the application and application dependencies are contained;
- provide specifications of the software container configuration to a customer via an API (Application Programming Interface);
- and
- generate a software container script used to create a software container for the application according to the software container configuration when executed on a computing instance selected to host the software container upon approval of the customer.
Dependencies are inferred from the claim text.