Dynamic system workload placement in cloud infrastructures
Systems, methods, and machine-readable media may place workloads of source systems in a migration of data and applications from the source systems to target systems. Data relating to a first number of source nodes and a second number of target nodes may be received and analyzed. A migration plan that specifies placement of workloads from source systems into target systems may be created. The placement may include packing a pluggable environment or a clustered environment. The packing the pluggable environment or the clustered environment may include: when the second number of target nodes is greater than the first number of source nodes, placing workload from the source nodes to the target nodes; and, when the second number of target nodes is less than the first number of source nodes, the workload from the source nodes is not placed to the target nodes.
1 . A system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems, the 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 one or more processing devices to perform operations comprising:
receiving data relating to a first number of source nodes and a second number of target nodes;
analyzing the data relating to the first number of source nodes and the second number of target nodes;
determining future resource consumption of workloads based on machine learning and a time-series data signal;
creating a migration plan that specifies placement of the workloads from the one or more source systems into the one or more target systems based on the future resource consumption, where:
the placement comprises packing a pluggable environment or a clustered environment, where the packing the pluggable environment or the clustered environment comprises:
when the second number of target nodes is greater than the first number of source nodes, placing a workload from the source nodes to the target nodes;
when the second number of target nodes is less than the first number of source nodes, the workload from the source nodes is not placed to the target nodes, and one or more rollback operations are executed;
causing execution of the migration according to the migration plan, the migration comprising placing the workload from the source nodes to the target nodes when the second number of target nodes is greater than the first number of source nodes;
consolidating the workloads based on the placement of the workloads into the target nodes;
identifying one or more target bins and bin packing using the machine learning while the workloads are consolidated, wherein a target bin of the one or more target bins corresponds to a node of a cloud configuration, and the bin packing specifies fittings of the workloads into the one or more target bins; and
placing the workloads into the identified one or more target bins.
2 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 1 , where the one or more target systems correspond to a cloud infrastructure, and the placement of the workloads corresponds to placing the workloads in the cloud infrastructure.
3 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 2 , where the operations are scalable so that the placement of the workloads is based at least in part on one or more dimensions that can increase a vector.
4 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 3 , where the vector comprises dimensions of metrics that correspond to one or more of an input/output (IO) metric, a central processing unit (CPU) metric, and/or a memory metric.
5 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 4 , where the vector is a function of time.
6 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 5 , the operations further comprising:
obtaining a consolidated time series data signal corresponding to the workloads; and
analyzing the consolidated time series data signal and comparing the consolidated time series data signal with a sum of the target bin to determine whether further efficiencies can be obtained by elasticization to reduce wastage.
7 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 6 , the operations further comprising:
elasticizing the target bin.
8 . The system to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 7 , where a migration service configured to perform the migration of data and/or applications is cloud-based.
9 . A method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems, the method comprising:
receiving, by a migration infrastructure, data relating to a first number of source nodes and a second number of target nodes, where the migration infrastructure is located remotely from the first number of source nodes and is configured to provide a migration service;
analyzing, by the migration infrastructure, the data relating to the first number of source nodes and the second number of target nodes;
determining future resource consumption of workloads based on machine learning and a time-series data signal;
creating a migration plan that specifies placement of the workloads from the one or more source systems into the one or more target systems based on the future resource consumption, where:
the placement comprises packing a pluggable environment or a clustered environment, where the packing the pluggable environment or the clustered environment comprises:
when the second number of target nodes is greater than the first number of source nodes, placing a workload from the source nodes to the target nodes;
when the second number of target nodes is less than the first number of source nodes, the workload from the source nodes is not placed to the target nodes, and one or more rollback operations are executed;
causing, by the migration infrastructure, execution of the migration according to the migration plan, the migration comprising placing the workload from the source nodes to the target nodes when the second number of target nodes is greater than the first number of source nodes;
consolidating the workloads based on the placement of the workloads into the target nodes;
identifying one or more target bins and bin packing using the machine learning while the workloads are consolidated, wherein a target bin of the one or more target bins corresponds to a node of a cloud configuration, and the bin packing specifies fittings of the workloads into the one or more target bins; and
placing the workloads into the identified one or more target bins.
10 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 9 , where the one or more target systems correspond to a cloud infrastructure, and the placement of the workloads corresponds to placing the workloads in the cloud infrastructure.
11 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 10 , where the method is scalable so that the placement of the workloads is based at least in part on one or more dimensions that can increase a vector.
12 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 11 , where the vector comprises dimensions of metrics that correspond to one or more of an input/output (IO) metric, a central processing unit (CPU) metric, and/or a memory metric.
13 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 12 , where the vector is a function of time.
14 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 13 , the method further comprising:
obtaining a consolidated time series data signal corresponding to the workloads; and
analyzing the consolidated time series data signal and comparing the consolidated time series data signal with a sum of the target bin to determine whether further efficiencies can be obtained by elasticization to reduce wastage.
15 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 14 , the method further comprising:
elasticizing the target bin.
16 . The method to place workloads of one or more source systems in a migration of data and/or applications from the one or more source systems to one or more target systems as recited in claim 15 , where the migration service is cloud-based.
17 . One or more non-transitory, machine-readable media having machine-readable instructions thereon which, when executed by one or more processing devices, cause the one or more processing devices to perform operations comprising:
receiving data relating to a first number of source nodes and a second number of target nodes;
analyzing the data relating to the first number of source nodes and the second number of target nodes;
determining future resource consumption of workloads based on machine learning and a time-series data signal;
creating a migration plan that specifies placement of the workloads from one or more source systems into one or more target systems based on the future resource consumption, where:
the placement comprises packing a pluggable environment or a clustered environment, where the packing the pluggable environment or the clustered environment comprises:
when the second number of target nodes is greater than the first number of source nodes, placing a workload from the source nodes to the target nodes;
when the second number of target nodes is less than the first number of source nodes, the workload from the source nodes is not placed to the target nodes, and one or more rollback operations are executed; and
causing execution of a migration according to the migration plan, the migration comprising placing the workload from the source nodes to the target nodes when the second number of target nodes is greater than the first number of source nodes;
consolidating the workloads based on the placement of the workloads into the target nodes;
identifying one or more target bins and bin packing using the machine learning while the workloads are consolidated, wherein a target bin of the one or more target bins corresponds to a node of a cloud configuration, and the bin packing specifies fittings of the workloads into the one or more target bins; and
placing the workloads into the identified one or more target bins.
18 . The one or more non-transitory, machine-readable media as recited in claim 17 , where the one or more target systems correspond to a cloud infrastructure, and the placement of the workloads corresponds to placing the workloads in the cloud infrastructure.
19 . The one or more non-transitory, machine-readable media as recited in claim 18 , where the set of operations is scalable so that the placement of the workloads is based at least in part on one or more dimensions that can increase a vector.
20 . The one or more non-transitory, machine-readable media as recited in claim 19 , where the vector comprises dimensions of metrics that correspond to one or more of an input/output (IO) metric, a central processing unit (CPU) metric, and/or a memory metric.