Hierarchical cloud computing resource configuration techniques
Abstract
Techniques and systems are disclosed to provide a configuration tool that can be used to improve configuration of cloud-based network resources. In some implementations, data indicating (i) a present configuration state of a cloud computing resource, and (ii) a desired state configuration of the cloud computing resource is obtained. A determination is made that adjusting the cloud computing resource from the present state configuration to the desired state configuration includes executing one or more operations classified as likely involving user confirmation. A workflow representation is generated for configuring the cloud computing resource from the present state configuration to the desired state configuration. The workflow representation identifies a hierarchical arrangement of tasks to be performed. A user interface is provided for output to a computing device. The user interface enables a user to perceive the hierarchical arrangement of tasks to be performed in configuration of the cloud computing resource.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method performed by one or more computers, the one or more computers being configured to execute a command-line tool for configuring a cloud computing resource and comprising a state processor and a configuration processor, the method comprising:
obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;
determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;
based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:
the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource,
the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;
receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;
determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;
in response to determining that the user input specifies the configuration to the second task:
identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;
providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;
receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;
in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.
2. The method of claim 1 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.
3. The method of claim 2 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:
a set of one or more operations to be performed during execution of a particular task; and one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.
4. The method of claim 3 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.
5. The method of claim 1 , wherein the set of tasks specified by the hierarchical arrangement of tasks comprises:
the first task to delete an existing instance of the cloud computing resource;
the second task to create a new instance of the cloud computing resource; and
a third task to migrate one or more components presently configured to the existing instance to the new instance.
6. The method of claim 1 , further comprising:
obtaining, through the user interface, data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration;
in response to obtaining the data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration, generating a configuration instruction based on the workflow representation; and
providing the configuration instruction to a configuration server associated with the cloud computing resource.
7. The method of claim 6 , wherein generating the configuration instruction comprises:
identifying, for each task within the hierarchical arrangement of the set of tasks specified by the workflow representation, a set of one or more operations to be performed during execution of a particular task;
determining a programming language used by the configuration server to configure the cloud computing resource; and
generating the configuration instruction such that the configuration instruction is coded according to the programming language used by the configuration server to configure the cloud computing resource.
8. A system comprising:
one or more computing devices configured to execute a command-line tool for configuring a cloud computing resource, and comprising a configuration state processor and a configuration module; and
a non-transitory computer-readable storage device storing instructions that are executable by the one or more computing devices to perform operations comprising:
obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;
determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;
based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:
the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource, the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;
receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;
determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;
in response to determining that the user input specifies the configuration to the second task:
identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;
providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;
receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;
in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.
9. The system of claim 8 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.
10. The system of claim 9 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:
a set of one or more operations to be performed during execution of a particular task; and one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.
11. The system of claim 10 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.
12. The system of claim 8 , wherein the set of tasks specified by the hierarchical arrangement of tasks comprises:
the first task to delete an existing instance of the cloud computing resource;
the second task to create a new instance of the cloud computing resource; and
a third task to migrate one or more components presently configured to the existing instance to the new instance.
13. The system of claim 8 , wherein the operations further comprise:
obtaining, through the user interface, data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration;
in response to obtaining the data indicating a confirmation by the user to initiate adjustment of the cloud computing resource from the present state configuration to the desired state configuration, generating a configuration instruction based on the workflow representation; and
providing the configuration instruction to a configuration server associated with the cloud computing resource.
14. At least one non-transitory computer-readable storage device storing instructions that are executable by one or more computing devices configured to execute a command-line tool for configuring a cloud computing resource and comprising a state processor and a configuration processor, wherein the instructions cause the one or more computing devices to perform operations comprising:
obtaining, by the state processor, data indicating (i) a present configuration state of the cloud computing resource, and (ii) a desired state configuration of the cloud computing resource;
determining, by the state processor, that adjusting the cloud computing resource from the present state configuration to the desired state configuration comprises executing one or more operations classified as involving user confirmation;
based on the determination that adjusting the cloud computing resource involves executing, the one or more operations, generating a workflow representation for configuring the cloud computing resource from the present state configuration to the desired state configuration, wherein:
the workflow representation identifies a hierarchical arrangement for a set of tasks to be performed in configuration of the cloud computing resource, the set of tasks comprises (i) a first task that a user is permitted to configure through a user interface associated with the command line tool, the first task implemented on a first hardware platform, and (ii) a second task that the user is restricted from configuring through the user interface, the second task implemented on a second hardware platform that is different than the first hardware platform;
receiving, by the configuration processor and through the user interface, a user input associated with the set of tasks, wherein the user input specifies one or more configurations to the set of tasks specified by the workflow representation;
determining, by the configuration processor, that the user input specifies a configuration corresponding to the second task;
in response to determining that the user input specifies the configuration to the second task:
identifying, by the configuration processor, one or more template workflow representations from a repository of previously-generated workflow representations for prior configuration operations that configure the cloud computing resource from the present state configuration to the desired state configuration but do not include the second task;
providing, by the configuration processor and through the user interface, an indication for the user to replace the workflow representation with the one or more template workflow representations;
receiving, by the configuration processor and through the user interface, a second user input selecting a template workflow representation from the one or more template workflow representations, wherein the template workflow representation selected by the user is associated with a second set of tasks;
in response to receiving the second user input, configuring, by the configuration processor, the cloud computing resource according to the template workflow representation selected by the user.
15. The at least one non-transitory computer-readable storage device of claim 14 , wherein the hierarchical arrangement of tasks specified in the workflow representation indicates a sequence for executing the set of tasks.
16. The at least one non-transitory computer-readable storage device of claim 15 , wherein the hierarchical arrangement for the set of tasks specified in the workflow representation indicates, for each task included in the set of the tasks:
a set of one or more operations to be performed during execution of a particular task; and
one or more execution parameters associated with each of the one or more operations included in the set of one or more operations.
17. The at least one non-transitory computer-readable storage device of claim 16 , wherein the user interface enables the user to provide one or more user inputs to adjust values for the one or more execution parameters.Join the waitlist — get patent alerts
Track US11831495B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.