Systems and methods to facilitate adaptive resource capacity prediction and control using cloud infrastructures
Systems, methods, and non-transitory, machine-readable media may facilitate adaptive resource capacity prediction and control using cloud infrastructures. Specifications of resource allocations for resources provided by a cloud infrastructure system may be collected. Execution of a series of sets of parallel microservices may be caused. Each set may be a function of a particular type of resource data and may facilitate obtaining resource metrics data corresponding to the particular type. The series of sets may facilitate obtaining resource metrics data mapped to the resources provided by the cloud infrastructure system. Prediction rules may be selected as a function of particular resource metrics. The selected prediction rules may be used to predict resource capacities for a subset of the resources as a function of the particular resource metrics and generate resource capacity predictions. Preemptive actions with respect to incidents identified based on the resource capacity predictions may be facilitated.
1 . A system comprising:
one or more processing devices and memory communicatively coupled with and readable by the one or more processing devices, the memory comprising processor-readable instructions which, when executed by the one or more processing devices, cause the system to perform operations comprising:
consolidating allocation data corresponding to specifications of resource allocations for a plurality of resources provided by a cloud infrastructure system, wherein the allocation data comprises mappings of hosts and resource specifications, and the consolidated allocation data being used as input to rules for predicting resource capacities for the plurality of resources;
based at least in part on a subset of the specifications of resource allocations, causing execution of a series of sets of parallel microservices, wherein:
the series of sets of parallel microservices is based at least in part on code that is automatically generated from a set of base code seeded with different resource metric parameters,
each set of parallel microservices facilitates obtaining resource metrics data corresponding to a particular type of resource data, and
the series of sets of parallel microservices facilitates obtaining resource metrics data mapped to the plurality of resources provided by the cloud infrastructure system; and
facilitating a graphical user interface configured to represent a microservices orchestration, wherein the microservices orchestration corresponds to the execution of the series of sets of parallel microservices; and
based at least in part on the predicted resource capacities resulting from application of the rules for predicting the resource capacities, facilitating, via the graphical user interface, one or more preemptive actions with respect to one or more resources, the one or more preemptive actions corresponding to initiating an allocation or modification of resources.
2 . The system as recited in claim 1 , wherein the graphical user interface is updated while the microservices orchestration progresses and graphically indicates a progression of the microservices orchestration.
3 . The system as recited in claim 2 , wherein the graphical user interface graphically indicates which nodes of the microservices orchestration have executed successfully or unsuccessfully, and each node corresponds to one or more steps of the microservices orchestration.
4 . The system as recited in claim 2 , wherein the graphical user interface comprises user-selectable interface elements corresponding to nodes of the microservices orchestration, and each node corresponds to one or more steps of the microservices orchestration.
5 . The system as recited in claim 4 , wherein one or more of the nodes are user-selectable to expose details of a part of the microservices orchestration, reveal one or more successfully executed steps, and/or reveal one or more unsuccessfully executed steps.
6 . The system as recited in claim 1 , wherein:
each set of parallel microservices is a function of the particular type of resource data; and
the operations further comprise:
selecting prediction rules from a plurality of prediction rules as a function of one or more particular resource metrics;
using the selected prediction rules to predict resource capacities for a subset of the plurality of resources as a function of the one or more particular resource metrics; and
facilitating one or more preemptive actions with respect to one or more incidents identified based at least in part on the resource capacity predictions.
7 . One or more non-transitory, machine-readable media having machine-readable instructions thereon which, when executed by one or more processing devices, cause a system to perform operations comprising:
consolidating allocation data corresponding to specifications of resource allocations for a plurality of resources provided by a cloud infrastructure system, wherein the allocation data comprises mappings of hosts and resource specifications, and the consolidated allocation data being used as input to rules for predicting resource capacities for the plurality of resources;
based at least in part on a subset of the specifications of resource allocations, causing execution of a series of sets of parallel microservices, wherein:
the series of sets of parallel microservices is based at least in part on code that is automatically generated from a set of base code seeded with different resource metric parameters,
each set of parallel microservices facilitates obtaining resource metrics data corresponding to a particular type of resource data, and
the series of sets of parallel microservices facilitates obtaining resource metrics data mapped to the plurality of resources provided by the cloud infrastructure system;
facilitating a graphical user interface configured to represent a microservices orchestration, wherein the microservices orchestration corresponds to the execution of the series of sets of parallel microservices; and
based at least in part on the predicted resource capacities resulting from application of the rules for predicting the resource capacities, facilitating, via the graphical user interface, one or more preemptive actions with respect to one or more resources, the one or more preemptive actions corresponding to initiating an allocation or modification of resources.
8 . The one or more non-transitory, machine-readable media as recited in claim 7 , wherein the graphical user interface is updated while the microservices orchestration progresses and graphically indicates a progression of the microservices orchestration.
9 . The one or more non-transitory, machine-readable media as recited in claim 8 , wherein the graphical user interface graphically indicates which nodes of the microservices orchestration have executed successfully or unsuccessfully, and each node corresponds to one or more steps of the microservices orchestration.
10 . The one or more non-transitory, machine-readable media as recited in claim 8 , wherein the graphical user interface comprises user-selectable interface elements corresponding to nodes of the microservices orchestration, and each node corresponds to one or more steps of the microservices orchestration.
11 . The one or more non-transitory, machine-readable media as recited in claim 10 , wherein one or more of the nodes are user-selectable to expose details of a part of the microservices orchestration, reveal one or more successfully executed steps, and/or reveal one or more unsuccessfully executed steps.
12 . The one or more non-transitory, machine-readable media as recited in claim 7 , wherein:
each set of parallel microservices is a function of the particular type of resource data; and
the operations further comprise:
selecting prediction rules from a plurality of prediction rules as a function of one or more particular resource metrics;
using the selected prediction rules to predict resource capacities for a subset of the plurality of resources as a function of the one or more particular resource metrics; and
facilitating one or more preemptive actions with respect to one or more incidents identified based at least in part on the resource capacity predictions.
13 . A method comprising:
consolidating allocation data corresponding to specifications of resource allocations for a plurality of resources provided by a cloud infrastructure system, wherein the allocation data comprises mappings of hosts and resource specifications, and the consolidated allocation data being used as input to rules for predicting resource capacities for the plurality of resources;
based at least in part on a subset of the specifications of resource allocations, causing execution of a series of sets of parallel microservices, wherein:
the series of sets of parallel microservices is based at least in part on code that is automatically generated from a set of base code seeded with different resource metric parameters,
each set of parallel microservices facilitates obtaining resource metrics data corresponding to a particular type of resource data, and
the series of sets of parallel microservices facilitates obtaining resource metrics data mapped to the plurality of resources provided by the cloud infrastructure system;
facilitating a graphical user interface configured to represent a microservices orchestration, wherein the microservices orchestration corresponds to the execution of the series of sets of parallel microservices; and
based at least in part on the predicted resource capacities resulting from application of the rules for predicting the resource capacities, facilitating, via the graphical user interface, one or more preemptive actions with respect to one or more resources, the one or more preemptive actions corresponding to initiating an allocation or modification of resources.
14 . The method as recited in claim 13 , wherein the graphical user interface is updated while the microservices orchestration progresses and graphically indicates a progression of the microservices orchestration.
15 . The method as recited in claim 14 , wherein the graphical user interface graphically indicates which nodes of the microservices orchestration have executed successfully or unsuccessfully, and each node corresponds to one or more steps of the microservices orchestration.
16 . The method as recited in claim 14 , wherein the graphical user interface comprises user-selectable interface elements corresponding to nodes of the microservices orchestration, and each node corresponds to one or more steps of the microservices orchestration.
17 . The method as recited in claim 16 , wherein one or more of the nodes are user-selectable to expose details of a part of the microservices orchestration, reveal one or more successfully executed steps, and/or reveal one or more unsuccessfully executed steps.
18 . The method as recited in claim 13 , wherein:
each set of parallel microservices is a function of the particular type of resource data; and
the method further comprises:
selecting prediction rules from a plurality of prediction rules as a function of one or more particular resource metrics;
using the selected prediction rules to predict resource capacities for a subset of the plurality of resources as a function of the one or more particular resource metrics; and
facilitating one or more preemptive actions with respect to one or more incidents identified based at least in part on the resource capacity predictions.