Application idling in a multi-tenant cloud-based application hosting environment
AssigneeRed Hat, Inc.
InventorsMichael P. McGrath, Matthew Hicks, Daniel Charles McPherson
Life of this patent
Estimating the term…
Abstract
A mechanism for idling an application in a multi-tenant cloud hosting environment is disclosed. A method of the invention includes detecting, by a reverse proxy of a node of a cloud computing architecture, a lack of minimum usage of an application hosted on the node, the application being one of a plurality of applications being hosted on the node and instructing the node to shut down the application in response. The reverse proxy is then; and reconfigured to point to a restarter instead of the application, wherein the restarter restarts the application in response to detecting an access to the application.
Claims21
A method, comprising:
- detecting, by a reverse proxy of a node of a plurality of nodes in a cloud computing architecture, an idle application hosted on the corresponding node, the plurality of nodes hosting a plurality of applications;
- instructing the node hosting the idle application to shut down the idle application;
- changing, by a processing device, a configuration of the reverse proxy to prevent the application that is shut down from receiving an incoming access request and to restart the application that is shut down in response to detecting the incoming access request;
- receiving a request to create a new application on one of the plurality of nodes;
- assigning a weight to each active application, the weight being in view of at least one of a software type or an application size;
- determining capacity for each of the plurality of nodes in view of a number of active applications, a number of idle applications, and a number of shut down applications hosted on the corresponding node;
- and
- instructing a node having a greatest capacity among the plurality of nodes to create the new application.
A method, comprising:
- receiving a first request to create a first new application on one of a plurality of nodes in a cloud computing architecture;
- assigning a weight to each active application, the weight being in view of at least one of a software type or an application size;
- determining capacity for each of the plurality of nodes in view of a number of active applications, a number of idle applications, and a number of shut down applications hosted on the corresponding node;
- instructing a node having a greatest capacity among the plurality of nodes to create the new application;
- receiving, by a reverse proxy associated with a first node of the plurality of nodes, an access request addressed to a target application, the target application being shut down and one of a plurality of applications hosted on the first node;
- instructing, by a processing device, the first node to restart the target application in response to the received access request;
- changing, by the processing device, a configuration of the reverse proxy of the first node to direct future requests to the target application;
- receiving a second request to create a second new application on one of the plurality of nodes;
- determining an updated capacity for each of the plurality of nodes in view of the first node restarting the targeted application;
- and
- instructing a node having an updated greatest capacity among the plurality of nodes to create the second new application.
A system, comprising:
- a communications interface to communicate with a plurality of nodes of a cloud computing architecture, the plurality of nodes hosting a plurality of applications;
- a processor of a reverse proxy of one of the plurality of nodes, coupled to the communications interface, to:
- detect an idle application hosted on the corresponding node;
- instruct the node hosting the idle application to shut down the idle application;
- change a configuration of the reverse proxy to prevent the application that is shut down from receiving an incoming request and to restart the application that is shut down in response to detecting the incoming access request;
- and
- a second processor, coupled to the communications interface, to:
- receive a request to create a new application on one of the plurality of nodes;
- assign a weight to each active application, the weight being in view of at least one of a software type or an application size;
- determine capacity for each of the plurality of nodes in view of a number of active applications, a number of idle applications, and a number of shut down applications hosted on the corresponding node;
- and
- instruct a node having a greatest capacity among the plurality of nodes to create the new application.
A non-transitory machine-readable storage medium including data instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
- detecting, by a reverse proxy of a node of a plurality of nodes in a cloud computing architecture, an idle application hosted on the corresponding node, the plurality of nodes hosting a plurality of applications;
- instructing the node hosting the idle application to shut down the idle application;
- changing, by the processing device, a configuration of the reverse proxy to prevent the application that is shut down from receiving an incoming access request and to restart the application that is shut down in response to detecting the incoming access request;
- receiving a request to create a new application on one of the plurality of nodes;
- assigning a weight to each active application, the weight being in view of at least one of a software type or an application size;
- determining capacity for each of the plurality of nodes in view of a number of active applications, a number of idle applications, and a number of shut down applications hosted on the corresponding node;
- and
- instructing a node having a greatest capacity among the plurality of nodes to create the new application.
Dependencies are inferred from the claim text.