Search

US-12625691-B2 - Optimizing components for multi-cloud applications with deep learning models

US12625691B2US 12625691 B2US12625691 B2US 12625691B2US-12625691-B2

Abstract

In various examples, a computer-implemented method includes: ingesting, by one or more computing devices, application deployment data for an application; generating, by the one or more computing devices, a cloud application deployment predictor data structure for the application; generating, by the one or more computing devices, objective functions for the cloud application deployment predictor data structure for the application; optimizing, by the one or more computing devices, between the objective functions for the application; and generating, by the one or more computing devices, based on the optimizing between the objective functions, a multi-cloud deployment map for the application.

Inventors

  • Pranshu Tiwari
  • Harish Bharti
  • Swarnalata Patel
  • Naveen Narayanaswamy
  • Abhaya Kumar Sahoo

Assignees

  • INTERNATIONAL BUSINESS MACHINES CORPORATION

Dates

Publication Date
20260512
Application Date
20230112

Claims (20)

  1. 1 . A method comprising: ingesting, by one or more processors, application deployment data for an application; generating, by the one or more processors, a cloud application deployment predictor data structure for the application; generating, by the one or more processors, objective functions for the cloud application deployment predictor data structure for the application, the objective functions minimizing (i) deployment failure rate, (ii) financial cost of migration and operation of the application, (iii) security bugs, (iv) response time, or (v) any combination thereof; optimizing, by the one or more processors, between the objective functions for the application; generating, by the one or more processors, based on the optimizing between the objective functions, a multi-cloud deployment map for the application by outputting optimized patterns for deploying the application and components of the application across a plurality of cloud services based on cosine similarity with at least another application or application components thereof, the cosine similarity being determined by measuring a set of weights used in the objective functions; and redeploying, by the one or more processors, the application among multiple cloud service providers in accordance with the multi-cloud deployment map for the application.
  2. 2 . The method of claim 1 , further comprising classifying the application deployment data in accordance with categories of attributes.
  3. 3 . The method of claim 2 , wherein the categories of attributes comprise application attributes, platform attributes, migration attributes, and service level objective (SLO) attributes.
  4. 4 . The method of claim 1 , wherein generating the cloud application deployment predictor data structure comprises performing machine learning training, using historical application deployment data and data related to scenarios absent from the historical data as machine learning training data, to create a predictor function based on one or more neural networks.
  5. 5 . The method of claim 1 , wherein generating the cloud application deployment predictor data structure comprises generating predictions for future application deployment performance attributes for potential application deployment options.
  6. 6 . The method of claim 1 , further comprising generating a cloud deployment constraints data structure comprising source cloud features, source cloud lock-in, destination cloud features, and destination cloud lock-in.
  7. 7 . The method of claim 6 , wherein optimizing between the objective functions comprises performing deterministic optimization based on the cloud deployment constraints data structure and on a cloud application component objective matrix, wherein the cloud application component objective matrix is based on the objective functions.
  8. 8 . The method of claim 7 , further comprising generating a data and environment type data structure, wherein optimizing between the objective functions further comprises performing the deterministic optimization based also on the data and environment type data structure.
  9. 9 . The method of claim 1 , wherein ingesting the application deployment data and generating the cloud application deployment predictor data structure comprises: analyzing the application to determine constituent elements comprised in the application; and categorizing the constituent elements.
  10. 10 . The method of claim 1 , wherein the multi-cloud deployment map for the application comprises a designation for workloads requiring additional security to be hosted in encrypted cloud systems.
  11. 11 . A computer program product comprising one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to: ingest application deployment data for an application; generate a cloud application deployment predictor data structure for the application; generate objective functions for the cloud application deployment predictor data structure for the application, the objective functions minimizing (i) deployment failure rate, (ii) financial cost of migration and operation of the application, (iii) security bugs, (iv) response time, or (v) any combination thereof; optimize between the objective functions for the application; generate, based on the optimizing between the objective functions, a multi-cloud deployment map for the application by outputting optimized patterns for deploying the application and components of the application across a plurality of cloud services based on cosine similarity with at least another application or application components thereof, the cosine similarity being determined by measuring a set of weights used in the objective functions; and redeploy the application among multiple cloud service providers in accordance with the multi-cloud deployment map for the application.
  12. 12 . The computer program product of claim 11 , further comprising program instructions executable to: classify the application deployment data in accordance with categories of attributes, wherein the categories of attributes comprise application attributes, platform attributes, migration attributes, and service level objective (SLO) attributes.
  13. 13 . The computer program product of claim 11 , wherein the program instructions executable to generate the cloud application deployment predictor data structure comprise program instructions executable to perform machine learning training, using at least some of the application deployment data as machine learning training data, to create a predictor function based on one or more neural networks.
  14. 14 . The computer program product of claim 11 , wherein the program instructions executable to generate the cloud application deployment predictor data structure comprise program instructions executable to generate predictions for future application deployment performance attributes for potential application deployment options.
  15. 15 . The computer program product of claim 11 , further comprising: program instructions executable to generate a cloud deployment constraints data structure; and program instructions executable to generate a data and environment type data structure, wherein the program instructions executable to optimize between the objective functions comprise: program instructions executable to perform deterministic optimization based on the cloud deployment constraints data structure and on a cloud application component objective matrix, wherein the cloud application component objective matrix is based on the objective functions; and program instructions executable to perform the deterministic optimization based also on the data and environment type data structure.
  16. 16 . A system comprising: one or more processors, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to: ingest application deployment data for an application; generate a cloud application deployment predictor data structure for the application; generate objective functions for the cloud application deployment predictor data structure for the application, the objective functions minimizing (i) deployment failure rate, (ii) financial cost of migration and operation of the application, (iii) security bugs, (iv) response time, or (v) any combination thereof; optimize between the objective functions for the application; generate, based on the optimizing between the objective functions, a multi-cloud deployment map for the application by outputting optimized patterns for deploying the application and components of the application across a plurality of cloud services based on cosine similarity with at least another application or application components thereof, the cosine similarity being determined by measuring a set of weights used in the objective functions; and redeploy the application among multiple cloud service providers in accordance with the multi-cloud deployment map for the application.
  17. 17 . The system of claim 16 , further comprising program instructions executable to: classify the application deployment data in accordance with categories of attributes, wherein the categories of attributes comprise application attributes, platform attributes, migration attributes, and service level objective (SLO) attributes.
  18. 18 . The system of claim 16 , wherein the program instructions executable to generate the cloud application deployment predictor data structure comprise program instructions executable to perform machine learning training, using at least some of the application deployment data as machine learning training data, to create a predictor function based on one or more neural networks.
  19. 19 . The system of claim 16 , wherein the program instructions executable to generate the cloud application deployment predictor data structure comprise program instructions executable to generate predictions for future application deployment performance attributes for potential application deployment options.
  20. 20 . The system of claim 16 , further comprising program instructions executable to: generate a cloud deployment constraints data structure comprising source cloud features, source cloud lock-in, destination cloud features, and destination cloud lock-in, wherein the program instructions are further executable to optimize between the objective functions by performing deterministic optimization based on the cloud deployment constraints data structure and on a cloud application component objective matrix, wherein the cloud application component objective matrix is based on the objective functions.

Description

BACKGROUND Aspects of the present invention relate generally to cloud deployment, and more particularly, to deploying applications using multiple cloud systems. Cloud computing yields great advantages for many software applications, but also imposes substantial complexity. Many options exist for deploying different software elements on any of various cloud systems. Large and complex software applications may have components deployed across multiple cloud systems. SUMMARY In a first aspect of the invention, there is a computer-implemented method including: ingesting, by one or more computing devices, application deployment data for an application; generating, by the one or more computing devices, a cloud application deployment predictor data structure for the application; generating, by the one or more computing devices, objective functions for the cloud application deployment predictor data structure for the application; optimizing, by the one or more computing devices, between the objective functions for the application; and generating, by the one or more computing devices, based on the optimizing between the objective functions, a multi-cloud deployment map for the application. In another aspect of the invention, there is a computer program product including one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: ingest application deployment data for an application; generate a cloud application deployment predictor data structure for the application; generate objective functions for the cloud application deployment predictor data structure for the application; optimize between the objective functions for the application; and generate, based on the optimizing between the objective functions, a multi-cloud deployment map for the application. In another aspect of the invention, there is system including a processor, a computer readable memory, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: ingest application deployment data for an application; generate a cloud application deployment predictor data structure for the application; generate objective functions for the cloud application deployment predictor data structure for the application; optimize between the objective functions for the application; and generate, based on the optimizing between the objective functions, a multi-cloud deployment map for the application. BRIEF DESCRIPTION OF THE DRAWINGS Aspects of the present invention are described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention. FIG. 1 depicts a computing environment according to an embodiment of the present invention. FIG. 2 shows a block diagram of an exemplary environment in accordance with aspects of the present invention. FIG. 3 shows a flowchart of an exemplary method in accordance with aspects of the present invention. FIG. 4A illustrates an example conventional cloud application deployment, as a basis of comparison, prior to analysis, processing, and multi-cloud redeployment in accordance with aspects of the present invention. FIG. 4B illustrates a multi-cloud redeployment of the same cloud application in accordance with a designated multi-cloud deployment map generated by a multi-cloud optimization code for the application, based on optimizing between objective functions, in accordance with aspects of the present invention. FIG. 5 illustrates a bipartite graph of deployments of application components, including project application components, to cloud service providers, that a multi-cloud optimization code may create in the formulation of deployment mapping based on optimizing among objective functions, in accordance with aspects of the present invention. FIG. 6 depicts a graph array illustratively depicting sample data for a validation and test run for a target nodal cloud deployment guidance predictor, in accordance with aspects of the present invention. FIG. 7 illustrates a graph of a mean square error loss for training data and validation data as a machine learning training for a nodal cloud deployment predictor module for a multi-cloud deployment analysis in the example of FIG. 6, in accordance with aspects of the present invention. FIG. 8 depicts a printout for simulated example of deterministic optimization outputs for a multi-cloud deployment solution map, based on and resulting from a cloud deployment constraints data structure and on a cloud application component objective matrix, in accordance with illustrative aspects. FIG. 9 depicts a chart for the simulated example of deterministic optimization outputs for the multi-cloud deployment solution map, based on and resulting from a clou