IP Library Patent Application 17555751
Patent Application
App. No. 17/555,751

Containerized Application Deployment Across Clusters

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 None
App. No.
17/555,751
Filed
Dec 20, 2021
Art Unit
2135
USPC
711/154
Abstract

A method for containerized application deployment that includes: determining, by a controller and based on a plurality of clusters, a first subset of clusters based on the first subset of clusters having node resources that satisfy a resource specification of a containerized application; determining, by the controller and based on the plurality of clusters, a second subset of clusters based on the second subset of clusters having cluster attributes that satisfy a deployment policy; selecting, by the controller and based on the deployment policy, a first cluster included in the first subset of clusters and in the second subset of clusters; and deploying, by the controller, the containerized application to the first cluster.

Claims (65)

1 . A method comprising:

determining, by a controller and based on a plurality of clusters, a first subset of clusters based on the first subset of clusters having resources that satisfy a resource specification of a containerized application:

determining, by the controller and based on the plurality of clusters, a second subset of clusters based on the second subset of clusters having cluster attributes that satisfy a deployment policy;

selecting, by the controller and based on the deployment policy, a first cluster included in the first subset of clusters and in the second subset of clusters; and

deploying, by the controller, the containerized application to the first cluster.

2 . The method of claim 1 , further comprising:

determining, after deploying the containerized application, telemetry data associated with operation of the containerized application;

determining, based on the telemetry data, that operation of the containerized application does not satisfy the resource specification of the containerized application;

determining, based on the operation of the containerized application not satisfying the resource specification, a variance between resource availability indicated by the telemetry data and a resource allocation indicated by the resource specification; and

requesting, from a control plane of the first cluster and based on the variance, one or more resources sufficient to satisfy the resource specification.

3 . The method of claim 1 , further comprising:

determining, after deploying the containerized application, a change in a resource associated with a computing environment of the first cluster;

determining that the change in the resource results in operation of the containerized application not satisfying the resource specification of the containerized application; and

redeploying, in response to the resource not satisfying the resource specification, the containerized application from the first cluster to a second cluster among the plurality of clusters.

4 . The method of claim 3 , further comprising:

determining one or more containerized applications used by the containerized application; and

deploying, in response to redeploying the containerized application from the first cluster to the second cluster, the one or more containerized applications to the second cluster.

5 . The method of claim 1 , wherein the first cluster operates within a cloud computing environment.

6 . The method of claim 1 , wherein the deployment policy specifies one or more of: a geographic region, a data privacy regulation, a security regulation, a governmental regulation, or a latency threshold associated with a geographic distance of the first cluster relative to a user location.

7 . The method of claim 1 , wherein each cluster of the plurality of clusters comprises an agent that determines a respective set of resources describing one or more operating conditions of a cluster.

8 . The method of claim 7 , further comprising:

determining, by a respective agent operating on a respective cluster among the plurality of clusters, a respective updated set of resources; and

sending, by the respective agent, data representing the respective updated set of resources to the controller.

9 . The method of claim 1 , wherein the first cluster executes within a first cloud computing environment, and wherein the method further comprises:

determining to redeploy the containerized application from the first cluster to a second cluster within a second cloud computing environment;

determining a first one or more services provided by the first cloud computing environment;

determining a second one or more services provided by a second cloud computing environment, wherein the second one or more services provide services similar to services provided by the first one or more services; and

in response to redeploying the containerized application from the first cluster to a second cluster within the second cloud computing environment, initiating the second one or more services on the second cluster.

10 . The method of claim 1 , further comprising:

determining, using a machine learning application, a predicted change to a first set of resources associated with the first cluster; and

generating, based on the predicted change to the first set of resources, a recommendation to redeploy the containerized application to a different cluster among the plurality of clusters.

11 . A system comprising:

one or more memories storing computer-executable instructions; and

one or more processors to execute the computer-executable instructions to:

determine, based on a plurality of clusters, a first subset of clusters based on the first subset of clusters having resources that satisfy a resource specification of a containerized application;

determine, based on the plurality of clusters, a second subset of clusters based on the second subset of clusters having cluster attributes that satisfy a deployment policy;

select, based on the deployment policy, a first cluster included in the first subset of clusters and in the second subset of clusters; and

deploy the containerized application to the first cluster.

12 . The system of claim 11 , wherein the one or more processors further execute the computer-executable instructions to:

determine, after deploying the containerized application, telemetry data associated with operation of the containerized application;

determine, based on the telemetry data, that operation of the containerized application does not satisfy the resource specification of the containerized application;

determine, based on the operation of the containerized application not satisfying the resource specification, a variance between resource availability indicated by the telemetry data and a resource allocation indicated by the resource specification; and

request, from a control plane of the first cluster and based on the variance, one or more resources sufficient to satisfy the resource specification.

13 . The system of claim 11 , wherein the one or more processors further execute the computer-executable instructions to:

determine, after deploying the containerized application, a change in a resource associated with a computing environment of the first cluster;

determine that the change in the resource results in operation of the containerized application not satisfying the resource specification of the containerized application; and

redeploy, in response to the resource not satisfying the resource specification, the containerized application from the first cluster to a second cluster among the plurality of clusters.

14 . The system of claim 13 , wherein the one or more processors further execute the computer-executable instructions to:

determine one or more containerized applications used by the containerized application; and

deploy, in response to redeploying the containerized application from the first cluster to the second cluster, the one or more containerized applications to the second cluster.

15 . The system of claim 11 , wherein the first cluster operates within a cloud computing environment.

16 . The system of claim 11 , wherein the deployment policy specifies one or more of: a geographic region, a data privacy regulation, a security regulation, a governmental regulation, or a latency threshold associated with a geographic distance of the first cluster relative to a user location.

17 . The system of claim 11 , wherein each cluster of the plurality of clusters comprises an agent that determines a respective set of resources describing one or more operating conditions of a cluster.

18 . The system of claim 17 , wherein the one or more processors further execute the computer-executable instructions to:

determine, by a respective agent operating on a respective cluster among the plurality of clusters, a respective updated set of resources; and

send, by the respective agent, data representing the respective updated set of resources to the controller.

19 . The system of claim 11 , wherein the first cluster executes within a first cloud computing environment, and wherein the one or more processors further execute the computer-executable instructions to:

determine to redeploy the containerized application from the first cluster to a second cluster within a second cloud computing environment;

determine a first one or more services provided by the first cloud computing environment;

determine a second one or more services provided by a second cloud computing environment, wherein the second one or more services provide services similar to services provided by the first one or more services; and

in response to redeploying the containerized application from the first cluster to a second cluster within the second cloud computing environment, initiate, the second one or more services on the second cluster.

20 . A non-transitory computer-readable medium storing computer instructions that, when executed, direct one or more processors of a computing device to:

determine, based on a plurality of clusters, a subset of clusters based on the subset of clusters having resources that satisfy a resource specification of a containerized application and having attributes that satisfy a deployment policy;

select, based on the deployment policy, a first cluster included in the subset of clusters; and

deploy the containerized application to the first cluster.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2021
From: PABÓN, LUIS PABLO; VOHRA, TAHER
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 058429/0723 →