In an approach to improve the management of multi-cloud environment resources embodiments of the present invention execute provisioning and rerouting mechanisms to maintain continuity in the multi-cloud computing environment despite changes to one or more predetermined factors or an identified problem. Additionally, embodiments predict a future need of a system based on collected data and the executed provision and rerouting mechanisms and analyze use history within the multi-cloud computing environment. Moreover, embodiments identify one or more solutions to address the future needs of the system based on the analysis of the use history; and proactively and autonomously implement the one or more identified solutions based one or more predetermined criteria in the multi-cloud computing environment.

BACKGROUND OF THE INVENTION

The present invention relates generally to multi-cloud environments, and more particularly to the field of improving the management of multi-cloud environment resources.

Multi-cloud is the use of cloud services from more than one cloud vendor. It can be as simple as using software-as-a-service (SaaS) from different cloud vendors—e.g., Salesforce and Workday. But in the enterprise, multi-cloud typically refers to running enterprise applications on platform-as-a-service (PaaS) or infrastructure-as-a-service (IaaS) from multiple cloud service providers. A multi-cloud solution is a cloud computing solution that's portable across multiple cloud providers' cloud infrastructures. Multi-cloud solutions are typically built on open-source, cloud-native technologies, such as Kubernetes, that are supported by all public cloud providers. They also typically include capabilities for managing workloads across multiple clouds with a central console (or ‘single pane of glass’). Many of the leading cloud providers, as well as cloud solution providers such as VMware, offer multi-cloud solutions for compute infrastructure, development, data warehousing, cloud storage, artificial intelligence (AI) and machine learning (ML), disaster recovery/business continuity and more.

The key to maximizing the benefits of a multi-cloud architecture is to manage applications and resources across the multiple clouds centrally, as if they were part of a single cloud. But multi-cloud management comes with multiple challenges including: (i) maintaining consistent cloud security and compliance policies across multiple platforms; (ii) consistently deploying applications across target environments (e.g., development, staging, and production) and various hosting platforms; and (iii) federating and visualizing events from logging and monitoring tools to achieve a singular view and configure consistent responses. Organizations use multi-cloud management tools—or preferably, a multi-cloud management platform—to monitor and manage their multi-cloud deployments as if they were a single cloud environment.

SUMMARY

Embodiments of the present invention disclose a computer-implemented method, a computer program product, and a system, for managing resources in a multi-cloud computing environment, the computer-implemented method comprising: executing provisioning and rerouting mechanisms to maintain continuity in the multi-cloud computing environment despite changes to one or more predetermined factors or an identified problem; predicting a future need of a system based on collected data and the executed provision and rerouting mechanisms; analyzing use history within the multi-cloud computing environment; identifying one or more solutions to address the future needs of the system based on the analysis of the use history; and proactively and autonomously implementing the one or more identified solutions based one or more predetermined criteria in the multi-cloud computing environment.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that cloud customers face multiple challenges as they are moving their workloads to cloud and leveraging cloud-based services. Generally, the challenges revolve around business continuity. Embodiments of the present invention recognize that business continuity can be impacted by several factors including service reliability, environmental changes such as datacenter temperature, weather impact (e.g., hurricane or severe storms), security and vulnerability, and business demands. Further, embodiments of the present invention recognize that an issue for cloud customers is the difficulty of monitoring a plurality predetermined metrics and the difficulty to react in a timely manner to ensure the continuity of the business.

Embodiments of the present invention solve at least the problems and/or issues stated above by auto provisioning and/or rerouting one or more mechanisms to address business continuity in event of changes in business, environment, weather, computing power, infrastructure, security breaches and other key factors. Additionally, embodiments of the present invention solve at least the problems and/or issues stated above by utilizing an artificial intelligence (AI) infused algorithm to monitor and analyze use history and data science techniques to identify and select an optimized path to predict service failures and apply auto correction. Embodiments of the present invention may identify and select an optimized path through machine learning techniques, wherein the selected optimized route results in a stable route. Based on root cause of the prediction, the auto correction may lead to reroute the traffic to backup software as a service (SaaS) or the auto correction may lead to an auto provision of a component of the SaaS. Additionally, embodiments of the present invention solve at least the problems and/or issues stated above by utilizing one or more AI based provisioning and rerouting mechanisms to sustain one or more problems like business changes, compute changes, infrastructure (infra) changes, increase or decrease in demand and/or other business key matrix factors, wherein embodiments do not simply analyze and predict the future needs but also deploy additional resources (clusters etc.) on predetermined environments beforehand to fulfil the identified future needs, wherein AI infused algorithm will monitor and analyze use history or any other data science techniques to select an optimize way of addressing the identified future needs. Embodiments of the present invention may (i) provision one or more resources (based on the analysis) some time before the need so as to remedy or prevent one or more forthcoming challenges, (ii) automate the rerouting of traffic based on machine learning AI with data from sources (e.g., traffic, computing power, environment, weather, and security), and (iii) auto-provision one or more components of an (e.g., SaaS) based on machine learning AI with data from sources Traffic, compute, environment, weather, security.

Implementation of embodiments of the invention may take a variety of forms, and exemplary implementation details are discussed subsequently with reference to the Figures (i.e.,FIG.1-FIG.3).

Component150may continuously depict the future needs of a predetermined system and may propose one or more proactive actions to prevent the identified future need (e.g., a predicted system failure) rather than proposing remedying actions post-failure. Thus, component150improves the art at least by enabling a healthier system, reducing maintenance cost during the course of time, enabling efficient usage and sustainability for the increased loads, enabling AI based re-routing to avoid outages which make the systems highly available, reducing breakdowns and downtime, and enabling optimal resource allocation as per the incoming needs.

Component150may predict the future needs, problems, failures, resource crunches, and/or any other sudden issues, collectively referred to as system issues, and provide one or more solutions to the identified/predicted system issues prior to the occurrences of said system issues. In some embodiments, component150may not always auto-scaling but may generate and display responsive prompts to an end user, wherein the scaling is responsive to the issued responsive prompt. Component150may utilize workload/container distribution across hosts, and/or minimize the CPU/memory usage for the daemon processes or lesser operating system (OS) interruptions, a pod restart, or node addition, wherein component150may predict and solve an identified system issue before the identified system issue(s) actually occur. Component150may not be limited to predicting and provisioning. The predictions are done on the basis of various factors not just the resource utilization (e.g., the number of users logging in, the amount of data fed to the systems, or during the peaks or fall usage dates). The demand may be fulfilled based on the prediction via provisioning additional infra or just shifting the container workload, or replicating the over-utilized resources, or performing cleanup of under-utilized container/workloads. In various embodiments, component150utilizes beforehand learning to actively learn the pattern consistently so that there is no delay or downtime during execution.

Component150may determine if the same level of activity is needed for business continuity, if there is a need of an extra database replicated schema or a new container to hold the level of activity, increase the load, or if there is an existing container load shifting to another cluster. In various embodiments, component150provisions the cluster and then shifts the applications, not just provisioning. Component150may reroute traffic and auto-provision components based on predictions through machine-based learning and AI. In various embodiments, component150executes an automated rerouting of traffic based on machine learning AI with data from sources, wherein sources comprise, but are not limited to, traffic, compute, environment, weather, and/or security. Cloud exit may be triggered by the predictions based on weather data, security breach or environmental data. In various embodiments, component150executes a provisioning of components of a SaaS based on machine learning AI with data from sources Traffic, compute, environment, weather, and/or security. Services do plan for auto-scaling of components of a SaaS; however, component150performs an auto-provision of components based on trusted prediction driven by data coming from traffic, compute, environment, weather, security. For example, consider an SaaS service is leveraging a database. Component150suggests ingesting metrics into the AI/ML pipeline to generate a trusted prediction, and automatically provision database from another provider and configure the database to be used by the SaaS service. An example of prediction could be based on the analysis of security data predicting breach or unacceptable response time based on service response time analysis. Component150may provision one or more resources, based on an analysis of the use history within the multi-cloud computing environment, for a predetermined time prior to the implementation so as to address one or more forthcoming challenges associated with the future need of the system.

Component150may collect data, via AI and ML techniques feature engineering, SelectKBest, and Regularize, to make the data more concrete to get the correct or near to correct predictions, wherein correct or near correct predictions are based on a predetermined threshold or range. Component150may enable a multi-cloud system to prepare itself to process one or more of the curated sets of automated instruction and prepare to process the predicted solution. Component150, via the ML predictions and processing, may predict whether rerouting is required, wherein if rerouting is required then component150may instruct, alert, and/or orchestrate the multi-cloud system to prepare itself to re-route the traffic to failover region based on ML and route the traffic to failover region based on ML. For example, in the SaaS world, there is always a backup region setup. So, component150use the analysis to start rerouting traffic to backup/failover setup. In various embodiments, component150Reroutes the traffic of a multi-cloud environment (i.e., system), and auto-provisions components of the system based on generated predictions through machine-based learning and AI. The AI infused mechanism/algorithm may be used to identify and generate the corrective action based on the key matrix and taking the appropriate action.

In some embodiments, component150executes provisioning and rerouting mechanisms to maintain continuity in the multi-cloud computing environment despite changes to one or more predetermined factors or an identified problem, wherein provisioning and rerouting mechanisms further comprises: predicting a future need of a system based on collected data and the executed provision and rerouting mechanisms, analyzing use history within the multi-cloud computing environment, identifying one or more solutions to address the future needs of the system based on the analysis of the use history, provisioning one or more resources, based on an analysis of the use history within the multi-cloud computing environment, for a predetermined time prior to the implementation so as to address one or more forthcoming challenges associated with the future need of the system, re-routing a provisioned artefact and the collected data to a newly provisioned cluster in a safe zone, and/or proactively and autonomously implementing the one or more identified solutions based one or more predetermined criteria in the multi-cloud computing environment.

FIG.2illustrates a functional block diagram with operational steps of component150, generally designated200, in communication with client computer101, remote server104, private cloud106, EUD103, and/or public cloud105, within distributed data processing environment100, for managing resources in a multi-cloud environment, in accordance with an embodiment of the present invention.FIG.2provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.

In various embodiments, component150comprises key matrix201for depicting/identifying future needs for the deployed instances, wherein the deployed instances comprises, but are not limited to: Quota Available/Used, growth in number of users, more activity happening on the provisioned infra, scaling for more instances of an application or a database when load increases on the cluster, logs or the generated events, and/or monitoring the health of the deployed server/cluster. Key matrix201may be subdivided or fine grained into a plurality of matrices. For example, case matrix202, business matrix204, and/or environment matrix206or many other such matrices based on different factors like availability, temperature within a predetermined area (e.g., room), power failures etc. In the depicted embodiment, key matrix201comprises case matrix202, business matrix204, environment matrix206, temperature matrix208, any other predetermined matrices210that are known and understood in the art, and deployed instances212. Deployed instances212may be deploy instances of component150or SaaS offerings and may comprise: history, logs storage, quotas, and/or reports. Case matrix202may be utilized for monitoring different aspects of a particular problem (e.g., fall or peak usage patterns, historical data, the parameters for enhancing the predictions, etc.).

Business matrix204may be utilized for business continuity and for processing received tasks with lesser delays, optimal use of resources, and time and cost, predictions and getting prepared for the problem beforehand without exceeding the current cost, and delays for the customer in the best of business. Environmental matrix206may be utilized to analyze the particular weather forecasts and/or weather patterns to determine if there is an expected breakdown or power failure in coming days and analyze the identified predicted issues and instructing or executing preventative or remedying actions such as backing up or re-routing the data and provisioned artefacts to the newly provisioned cluster in a safe zone. It is important to note that key matrix201is not limited to these matrices. Temperature matrix208refers to temperature in the datacenter in a region. For example, if the temperature is rising then the increase in temperature may result in failure of a datacenter. Predefined metrics include metrics that have been predefined to track in order to ensure optimal behavior of the infrastructure or SaaS offering. Other matrices may comprise CPU utilization or memory utilization.

Component150may be or may comprise an automated AI pipeline that collects data, predicts one or more system issues (i.e., identifies an event that will likely occur within or above a predetermined threshold), and processes and/or executes the predicted solution. In various embodiments, component150may automate a sequence of execution steps, wherein the sequence of execution steps comprise: data collection, re-routing system traffic, and processing/executing one or more predicted/identified solutions. In various embodiments, re-routing of system traffic, via an AI based system, is based on the considerations available from the different set of input matrices. In the depicted embodiment, component150collects data (i.e., data collection/data feed214) from key matrix201(e.g., case matrix202business matrix204, environment matrix206, and predetermined matrices210), wherein the collected data will be further divided into datasets based on various predetermined factors (e.g., cost efficiency, time efficiency, system need, success ratio, expected outcome, historical pattern, etc.) to hold the data for running machine learning (ML) and artificial intelligence (AI). For example, in the depicted embodiment, the collected data is divided and stored in various datasets represented by dataset K2341through dataset K234N, herein, collectively referred to as dataset(s)243. As used herein, N represents a positive integer, and accordingly the number of scenarios implemented in a given embodiment of the present invention is not limited to those depicted inFIG.2.

Component150, via data modeling and analysis216, apply machine learning (ML) modeling techniques (e.g., feature engineering218, regularize220, and SelectKBest222) to identify data (e.g., datasets) to be extracted. In various embodiments, the identified and/or extracted datasets are integrated for an analysis to predict (i.e., identify within a predetermined threshold) the likelihood of a problem and the solutions to the identified problems. In the depicted embodiment, classification models such as accuracy226, precision230, recall228, and F1 are applied to optimize accuracy and generate accurate solutions. Accuracy226tells you how many times the ML model was correct overall. Precision230identifies the precise a model is at predicting a specific category. Recall228identifies how many times q model was able to detect a specific category. F1 balances both precision and recall. Accuracy226, precision230, recall228, and F1 are data modelling techniques and used by ML to generate the optimal set of datasets which then can generate a list of solutions. In the depicted embodiment, component150filters the solution236generated by data modeling and analysis216. Component150may utilize automated solutions generated from data modeling and analysis216(e.g., resulted datasets) to filter the generated solutions to identify optimal solutions. In the depicted embodiment, component150predicts one or more solutions for one or more identified problems and triggers events to implement/execute the one or more identified solutions.

Component150may determine if the triggered events need to be re-routed, wherein the re-routing mechanism determines where to re-route the request or an additional cluster or deployment is needed or not, wherein the request is the solution generated as the outcome by component150which can either be re-routed or is to provision additional resources/clusters. In the depicted embodiment, if component150identifies that the triggered events require re-routing (Yes step) then component150executes automated provisioning and re-routing240; however, if component150identifies that the triggered events do not require re-routing (No step) then component150applies/implements the identified solution244. Automated provisioning and re-routing240may comprise implementing automated provisioning and re-routing to the existing load. Applying/implementing the identified solution244comprises executing one or more identified solutions proactively to prevent the one or more identified issues (e.g., executing a pod restart, container replication, a CPU intensive cleanup, and/or any other solution known and understood in the art).

Component150may prepare the system or issue an alert or instructions to the system notifying the system to prepare itself to process the curated set of automated instruction and to process the predicted solution. During processing, component150may determine a time window (generally when the environment is not in use or resource utilization is low), when the processing the predicted results will not hamper the current environment usage and prevent delays and downtime for existing users. Component150may proactively identify and implement solutions to predicted issues (e.g., deploying more database instances, increasing the storage quota for that user, reusing unused instances, etc.).

For example, there is a major holiday sale at all the national retail stores, during this time, the shopping sites for said retail stores who are offering discounts are flooded with users which results in the sites managing almost double the logins and accounts, authentications, buckets of orders, loads of data and many more challenges to provide the same smooth customer experience. To overcome these challenges, component150continuously monitors and assesses the amount of resources usage/consumption, capacity, availability etc. for a predetermined amount of time (e.g., 2-3 days) prior to any predetermined event (e.g., major holiday sale), wherein component150predicts, after considering different business challenges (key matrix), solutions to successfully manage the large influx of users. In this case, the proposed AI based algorithm will provision the cluster or resources (mongoDB) 2-3 days prior when its actually needed (custom time window) and will reroute the traffic and load to that cluster.

In another example, the AI based rerouting of component150considers various factors, in addition to the state of the cluster, such as environmental factors (temperature drops and/or weather forecasts) which might affect the system (e.g., breakdowns or power outages), and business challenges and cluster changes (Business matrix and Case matrix). Thus, in the event of a sudden power failure all the datacenters and transactions may be down for several days (e.g., two days). In this example, the data being input from the forecast is analyzed/processed to generate and output one or more predictions to the system, wherein component150identifies that there is a need of re-routing the workload to a backup cluster (in SaaS world where we have multi cloud environments or the HA environments) or setting up a new cluster in a safe region (other US region) before the actual disaster happens. Therefore, in this example, component150reroutes the workload to that cluster instead of rerouting after the disaster actually happened. Thus, the AI based rerouting on the basis of identified future needs, executed by component150, results in cost efficiency.

FIG.3illustrates operational steps of component150, generally designated300, in communication with client computer101, remote server104, private cloud106, EUD103, and/or public cloud105, within distributed data processing environment100, for identifying which process to execute to improve compilation time based on historical metadata, in accordance with an embodiment of the present invention.FIG.3provides an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.

In step302, component150collects data. Component150may collect data, via AI and ML techniques, to make the data more concrete to get the correct or near to correct predictions, wherein correct or near correct predictions are based on a predetermined threshold or range. In various embodiments, component150comprises an automated AI pipeline that collects data, predicts one or more system issues (i.e., identifies an event that will likely occur within or above a predetermined threshold), and processes and/or executes the predicted solution.

In step304, component150executes provisioning and rerouting mechanisms. In various embodiments, component150executes an AI based provisioning and rerouting mechanisms to address business continuity in event of changes in business, environment, weather, compute, infrastructure, security breaches and other key factors. In various embodiments, component150executes provisioning and rerouting mechanisms to maintain continuity in the multi-cloud computing environment despite changes to one or more predetermined factors or an identified problem, wherein executing provisioning and rerouting comprises re-routing a provisioned artefact and the collected data to a newly provisioned cluster in a safe zone.

In step306, component150identifies future needs of the system. In various embodiments, component150predicts the future needs of the system based on the collected data (e.g., data, history, logs, continuous monitoring key metrics, feeds, history, and other data collection techniques) and executed provision and rerouting mechanisms. In various embodiments, component150utilizes an artificial intelligence (AI) infused algorithm to monitor and analyze use history and data science techniques to identify and select an optimized path to predict service failures and apply auto correction. In various embodiments, component150integrates the identified and/or extracted datasets into the analysis to predict (i.e., identify within a predetermined threshold) the likelihood of a problem.

In step308, component150monitors data science techniques. In various embodiments, component150, via an AI infused algorithm, monitors, and analyzes the use history and/or one or more data science techniques.

In step310, component150identifies solutions to address the future needs of the system. In various embodiments, component150generates a list of identified solutions to prevent or remedy the identified future needs of the system (i.e., potential issues), wherein the identified list is a weighted list that prioritizes the solutions based on a predetermined measurement or weight. The generated list of identified solutions may be displayed to a user, wherein the generated list of identified solutions is displayed as a responsive prompt. Component150may identify and select an optimize route to implement the identified solutions. In various embodiments, the solutions are identified as the outcome of the machine learning model. In various embodiments, component150identifies one or more solutions based on a combination of ML, AI, and user feedback loop, wherein the user feedback loop may be on acceptable solutions suggested by ML and AI.

In step312, component150implements the identified solutions. In various embodiments component150proactively and autonomously implements the identified solutions based on the generated list, the select optimized route, and/or predetermined criteria. In some embodiments, component150proactively implements the identified solutions based on a user's response register by the responsive prompt. Component150may apply one or more identified solutions by using re-routing or via provisional infrastructural components.