Machine learning model for successful probability prediction of operators in paas cloud environment

By using machine learning models in the PaaS cloud environment to transform the configuration of operators and namespaces into vector representations, the probability of successful operator deployment is predicted, thus solving the deployment risk problem and improving the success rate and deployment reliability.

CN116438553BActive Publication Date: 2026-07-03INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2021-11-03
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing technologies cannot effectively predict the success or failure of operators when deployed in a Platform as a Service (PaaS) cloud environment, resulting in significant risks throughout the IT management lifecycle.

Method used

By employing a machine learning model, the code-to-vector approach is used to predict the success probability of operators in new environments by transforming the capabilities of operators and the configuration of namespaces into vector representations.

Benefits of technology

It improves the success rate of operator deployment, reduces deployment risks, lowers the likelihood of business disruptions, reduces deployment change time, and increases confidence in deployments in specific environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116438553B_ABST
    Figure CN116438553B_ABST
Patent Text Reader

Abstract

Systems and methods for integrating machine learning models are provided, and more specifically, platforms as a service (PaaS) cloud are used to predict the probability of an operator's success in an environment. An embodiment includes a system comprising: a processor executing computer-executable components stored in memory; a trained machine learning model predicting the probability of successful deployment of an operator in an environment having a namespace of a platform as a service (PaaS) cloud; and a deployment component receiving a first operator and a first namespace, and employing the trained machine learning model to predict the success of deployment of the first operator in the first environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This topic discloses machine learning models, and more specifically, how to use platform-as-a-service cloud to predict the probability of success of operators in an environment. Background Technology

[0002] Machine learning algorithms are the process of adapting models to data with a target. Algorithms typically specify methods for transforming data from input to output and learning appropriate mappings from input and output values. Therefore, a machine learning algorithm is a combination of models and types of chosen algorithms. The model further details the specification of the mapping function and stores parameter data while continuously learning and updating the algorithm to meet the overall target. Machine learning has attracted increasing attention from business entities and researchers. Existing methods primarily focus on solving the difficult computational problem of efficiently determining the appropriate combination of analytical algorithms. Modern advancements in software engineering have led to the deployment of Software as a Service (SaaS), which offers organizations significant advantages by allowing them to focus on their core business rather than scaling resources on computing infrastructure and maintenance. In particular, the use of operators in Platform as a Service (PaaS) clouds (such as Kubernetes (K8s) and OpenShift) has become increasingly prevalent. ® Operators are becoming increasingly popular in PaaS. Operators (e.g., constructs defined in programming languages ​​that often behave like functions but differ in syntax or semantics) are used for automated operations in PaaS. Isolated entities, such as namespaces in Kubernetes or OpenShift... ® Projects within Kubernetes (K8s) can have their own configurations, each with varying impacts on operator functionality. In Kubernetes, blocked or inoperable operators can have a significant lifecycle impacting information technology (IT) management. As a prerequisite, operators typically rely on permissions to create resources; however, simply having permissions is often insufficient for successful operation.

[0003] Traditional approaches and systems for deploying applications on one or more cloud systems based on demand and available resources typically utilize snapshots to mitigate risks during the migration of virtualization setups. However, traditional techniques do not adequately account for the risks associated with deploying operators in a new environment. Summary of the Invention

[0004] The following summary is provided to offer a basic understanding of one or more embodiments of the invention. This summary is not intended to identify key or essential elements, define the scope of a particular embodiment, or define the scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that follows. In one or more embodiments described herein, the systems, computer-implemented methods, apparatuses, and / or computer program products relate to machine learning models, and more specifically to utilizing Platform as a Service (PaaS) cloud to predict the probability of success of operators in an environment.

[0005] The embodiments focus on operator deployment in PaaS cloud environments and employ a method that uses machine learning to predict the success of operator deployment. Finally, a code-to-vector approach allows code to be converted into a vector format that can be used in machine learning applications. The embodiments convert code into a vector representation and utilize the code-to-vector approach to predict the success of operators in environments with configurations written in code.

[0006] According to an embodiment, a system includes: a processor that executes components stored in memory; a machine learning model that predicts the probability of successfully deploying an operator in an environment with a namespace of a Platform as a Service (PaaS) cloud; and a deployment component that receives a first operator and a first namespace and employs the machine learning model to predict the success of deploying the first operator in the first environment.

[0007] On an optional basis, the training component trains the machine learning model using the capabilities of the first operator and a set of configurations applied to the first namespace.

[0008] In an optional aspect, the training components take different configurations as input, which are applied to a first namespace where the first operator can be deployed.

[0009] On an optional basis, the training component can be deployed to the output of another namespace in the PaaS cloud using the first operator.

[0010] According to an embodiment, the method includes using a machine learning model to predict the probability of successfully deploying an operator in an environment with a namespace of a Platform as a Service (PaaS) cloud; and using a deployment component to receive a first operator and a first namespace, and employing a machine learning model to predict the success of deploying the first operator in a first environment.

[0011] In an optional aspect, the method also includes training a machine learning model using the capabilities of the first operator and a set of configurations applied to the first namespace. Attached Figure Description

[0012] Figure 1A block diagram of an example system implementation is shown, which implements a system for predicting the probability of success of operators in a new environment in a Platform as a Service cloud.

[0013] Figure 2 An example flowchart is shown for an integrated system that predicts the probability of success of operators in a new environment in a Platform as a Service cloud.

[0014] Figure 3 An example architecture for predicting operator success based on environment similarity analysis is shown.

[0015] Figure 4 An example block-level view of active learning feedback based on training data is shown.

[0016] Figure 5 An example of a global network policy applied to a namespace in an environment is shown.

[0017] Figure 6 An example flowchart of a neural network architecture is shown, in which code is used to generate numerical vectors.

[0018] Figure 7 A block diagram of an exemplary, non-limiting operating environment is shown, in which one or more embodiments described herein may be facilitated.

[0019] Figure 8 A block diagram of an exemplary, non-limiting cloud computing environment according to one or more embodiments disclosed in this subject matter is shown.

[0020] Figure 9 A block diagram of an exemplary, non-limiting abstract model layer according to one or more embodiments disclosed in this subject matter is shown. Detailed Implementation

[0021] The following detailed description is illustrative only and is not intended to limit the embodiments and / or applications or uses of the embodiments. Furthermore, one is not intended to be bound by any express or implied information presented in the foregoing summary or detailed description sections. One or more embodiments are now described with reference to the accompanying drawings, wherein the same reference numerals are consistently used to refer to the same elements. In the following description, numerous specific details are set forth for purposes of explanation in order to provide a more thorough understanding of one or more embodiments. It will be apparent that one or more embodiments may be practiced without these specific details in various circumstances.

[0022] The embodiments relate to deploying operators in a PaaS cloud environment and employ a method to predict the success of operator deployment by leveraging machine learning. The code-to-vector approach helps transform code into a vector format that can be used in machine learning applications. The embodiments transform code into a vector representation and utilize the code-to-vector approach to predict the success of operators in an environment with configurations written in code. It is understood that although this document describes example embodiments within the Kubernetes (K8s) framework, the innovations described and claimed herein are applicable to any suitable container orchestration system for automating the deployment, scaling, and management of computer applications, such as containerized workloads and services for declarative configuration and automation.

[0023] This subject matter generally discloses embodiments for predicting the probability of success of an operator in a new environment of a Platform as a Service (PaaS) cloud. This includes receiving the ability to operate as input, and receiving different configurations applied to a given namespace where the operator can be deployed. It also includes receiving outputs for deploying the operator to other namespaces; given the input and output, a machine learning model is trained to predict the probability of successful deployment of the operator in the new PaaS environment.

[0024] In today's digital world, data plays a paramount role in numerous applications. User actions typically leave a digital footprint through satellite imagery, biomedical data, smartphones, social media, and other applications. Rapidly evolving technologies have led to an exponential increase in machine-generated data. Big data represents a new era of data exploration and utilization, comprised of massive, diverse, and high-speed data. Modern advancements in software engineering have resulted in the deployment of Software as a Service (SaaS), offering organizations a significant advantage by allowing them to focus on their core business rather than expanding computing infrastructure and maintenance resources. For example, "Big Data" SaaS takes a set of data instances as input, performs data clustering computations, and returns data partitions as output to the client. Big data can be used in many data mining scenarios, such as tracking user-generated content in social media, analyzing web page images from web and census data, acquiring desired data from Internet of Things (IoT) sensors, tracking smartphone activity, and web traffic data for cybersecurity. Machine learning has become an integral part of the big data world.

[0025] Machine learning is gaining increasing attention from businesses and researchers. Existing approaches primarily focus on solving the computationally challenging problem of efficiently determining the appropriate combination of analytical algorithms. Examples include feature engineering, hyperparameter selection, and tuning. Emerging technologies are enhancing the concepts of machine learning algorithms, from pattern recognition to task-specific execution. As models are exposed to new data, machine learning is becoming an important iterative aspect of the digital world. Consequently, machine learning is also capable of independent adaptation. This has given new impetus to concepts learned from previous computations and the ability to generate reliable decisions. Recent research has shown that many machine learning systems can automatically apply complex mathematical calculations to big data at a faster rate than traditional systems. Some examples of machine learning applications include self-driving cars, online recommendations, and fraud detection. Most industries dealing with large amounts of data have recognized the importance of machine learning technologies.

[0026] As the volume and variety of data increase, powerful and affordable computational processing becomes increasingly important. Through machine learning systems, data can be automatically used to generate models to analyze complex data and provide accurate analytical results. This will ultimately help many organizations identify profitable opportunities while avoiding unknown risks. Specifically, operators can provide machine learning algorithms with known datasets, including desired inputs and outputs, and the algorithm can determine how to achieve those inputs and outputs. The use of operators in Platform as a Service (PaaS) clouds (such as Kubernetes and OpenShift) is evident. ® Increasingly popular in PaaS, operators are used to automate operations within PaaS, such as on-demand application deployment, where operators are used to help install applications into the PaaS cloud. Other examples of using operators include compliance checks to ensure clusters have valid compliant configurations, generating and restoring backups of application state, handling application code upgrades and related changes, such as database schemas or additional configuration settings, publishing services to applications that do not support cloud environment APIs (such as Kubernetes (K8s)), and testing resilience by discovering and simulating failures in the cluster. Operators are a result of PaaS and OpenShift. ® The code became popular as a tool. The technical names of isolated entities in a cloud environment (such as Kubernetes (K8s)) are called namespaces, and isolated entities are not visible to each other.

[0027] Namespaces such as Kubernetes (K8s) and OpenShift ®Isolated entities within a namespace can have their own configurations, which can imply the functionality of operators. Applications deployed within a namespace are typically subject to the network policies defined for that namespace. For example, if a namespace has a network policy that determines it cannot accept incoming requests from the forbidden Internet, applications deployed in that namespace cannot accept requests from the Internet. However, operators can access requests within a namespace based on network policies. Other areas where operators can access requests include network policies, role-based access control (RBAC), admission controllers, and resource quota restrictions. In cloud environments such as Kubernetes, operator blocking or inability to operate can have a significant impact on the IT management lifecycle; understanding the risks associated with operator performance can help mitigate the risks associated with their deployment. As a prerequisite, operators need permission to create resources such as pods (the smallest unit of execution in Kubernetes). Pods are inherently ephemeral; if a pod (or the node on which it runs) fails, Kubernetes can automatically create a new copy of the pod to continue operation. However, simply having permission is insufficient, as pods may be blocked by admission controllers, pod traffic may be blocked by network policies, pods may remain pending due to scheduling issues, and pods may be blocked from accessing Kubernetes by role-based access control (RBAC). Based on the configuration in the namespace, operators can succeed or fail. It is desirable to know whether the deployment will succeed or fail before deployment. Understanding the risks of an operation helps operations engineers make informed decisions about execution. Operators are analogous to intelligent agents capable of automating operations. Therefore, embodiments of this paper propose an efficient system that uses a machine learning model to predict the probability of success for operators in a new environment within a Platform as a Service (PaaS) cloud. Given input and output, a machine learning model is trained. Operators are input with a description of the operation and other artifacts, such as Operator Controller Custom Resource Definitions (CRDs). CRDs are objects that extend Kubernetes APIs across the cluster. Namespaces are associated with different configurations where operators can be deployed. The retrieved output helps determine whether the deployment of an operator in a particular namespace will be successful.

[0028] Figure 1 A block diagram of an exemplary, non-limiting system 100 is shown, which can access and process data using variable computing components described in one or more embodiments described herein. System 100 may include a memory 104, a processor 106, a training component 107, a trained machine learning model 108, a deployment component 110, and / or a bus 112.

[0029] It should be understood that the embodiments of the invention depicted in the various figures disclosed herein are for illustrative purposes only, and similarly, the architecture of such embodiments is not limited to the systems, apparatuses, and / or components depicted herein. For example, in some embodiments, system 100 may further include the operating environment 700 referenced herein and Figure 7 Various computers and / or computing-based components are described. In several embodiments, such computers and / or computing-based components can be combined to achieve integration. Figure 1 Or use it by means of one or more systems, devices, components and / or computer implementations shown and described in other accompanying drawings disclosed herein.

[0030] Memory 104 may store one or more computer and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by processor 106 (e.g., a classical processor, a quantum processor, etc.), may facilitate the execution of operations defined by the executable components and / or instructions. For example, memory 104 may store computer and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by processor 106, may facilitate the execution of various functions described herein related to training the machine learning model 108, deploying component 110, and / or another component associated with system 100, as described herein with or without reference to the various figures disclosed herein.

[0031] Memory 104 may include volatile memory (e.g., random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), etc.) and / or non-volatile memory (e.g., read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), etc.) and may use one or more memory architectures. Reference is made below to system memory 716 and... Figure 7 Other examples of memory 104 are described. These examples of memory 104 can be used to implement any of the embodiments disclosed in this subject matter.

[0032] Processor 106 may include one or more types of processors and / or electronic circuitry (e.g., classical processors, quantum processors, etc.) to implement one or more computer and / or machine-readable, writable, and / or executable components and / or instructions that may be stored on memory 104. For example, processor 106 may perform various operations that can be specified by such computer and / or machine-readable, writable, and / or executable components and / or instructions, including but not limited to logic, control, input / output (I / O), arithmetic, etc. In some embodiments, processor 106 may include one or more central processing units, multi-core processors, microprocessors, dual microprocessors, microcontrollers, system-on-a-chip (SoC), array processors, vector processors, quantum processors, and / or another type of processor. Reference is made below to processing unit 714 and... Figure 7 Further examples of processor 106 are described below. These examples of processor 106 can be used to implement any of the embodiments disclosed in this subject matter.

[0033] System 100, memory 104, processor 106, trained machine learning model 108, deployment component 110, and / or another component of system 102 described herein may be communicatively, electrically, operatively, and / or optically coupled to each other via bus 112 to perform the functions of system 100 and / or any component coupled thereto. Bus 112 may include one or more memory buses, memory controllers, peripheral buses, external buses, local buses, quantum buses, and / or another type of bus that may employ various bus architectures. Reference is made below to system bus 718 and... Figure 7 Other examples of bus 112 are described. These examples of bus 112 can be used to implement any of the embodiments disclosed in this subject matter.

[0034] System 100 may include any type of components, machines, devices, facilities, apparatuses, and / or instruments, including processors and / or devices capable of effective and / or operable communication with wired and / or wireless networks. All such embodiments are foreseeable. For example, System 100 may include server equipment, computing devices, general-purpose computers, special-purpose computers, quantum computing devices (e.g., quantum computers), tablet computing devices, handheld devices, server-type computing machines and / or databases, laptop computers, notebook computers, desktop computers, cellular phones, smartphones, consumer appliances and / or instruments, industrial and / or commercial equipment, digital assistants, multimedia internet phones, multimedia players, and / or another type of device.

[0035] System 100 can be coupled (e.g., communication ground, electrical ground, operability ground, optical ground, etc.) to one or more external systems, sources, and / or devices (e.g., classical and / or quantum computing devices, communication devices, etc.) using wires and / or cables. For example, System 100 can be coupled (e.g., communication ground, electrical ground, operability ground, optical ground, etc.) to one or more external systems, sources, and / or devices (e.g., classical and / or quantum computing devices, communication devices, etc.) using data cables, wherein the data cables include, but are not limited to, High Definition Multimedia Interface (HDMI) cables, Recommended Standard (RS) 232 cables, Ethernet cables, and / or other data cables.

[0036] In some embodiments, system 100 may be coupled via a network (e.g., communicative ground, electrical ground, operative ground, optical ground, etc.) to one or more external systems, sources, and / or devices (e.g., classical and / or quantum computing devices, communication devices, etc.). For example, such a network may include wired and / or wireless networks, including but not limited to cellular networks, wide area networks (WANs) (e.g., the Internet), or local area networks (LANs). System 100 can communicate with one or more external systems, sources, and / or devices, such as computing devices, using virtually any desired wired and / or wireless technology, including but not limited to: Wi-Fi, GSM, UMTS, WiMAX, Enhanced General Packet Radio Service (Enhanced GPRS), 3GPP Long Term Evolution (LTE), 3GPP2 Ultra Mobile Broadband (UMB), High Speed ​​Packet Access (HSPA), Zigbee and other XX wireless technologies and / or traditional telecommunications technologies, BLUETOOTH®, Session Initiation Protocol (SIP), ZIGBEE®, RF4CE, WirelessHART, 6LoWPAN (IPv6 over Low Power Wireless LAN), Z-Wave, ANT, Ultra Wideband (UWB) standard protocols and / or other proprietary and non-proprietary communication protocols. Therefore, in some embodiments, the vulnerability and attack technique association system 102 may include hardware (e.g., a central processing unit (CPU), transceiver, decoder, quantum hardware, quantum processor, etc.), software (e.g., a set of threads, a set of processes, running software, quantum pulse scheduling, quantum circuits, quantum gates, etc.), or a combination of hardware and software that facilitates the transfer of information between the vulnerability and attack technique association system 102 and external systems, sources and / or devices (e.g., computing devices, communication devices, etc.).

[0037] In some embodiments, training component 107 can train and develop trained machine learning model 108, which may employ one or more machine learning (ML) and / or artificial intelligence (AI) models that are based on and / or can use similarity learning and / or similarity search processes to perform natural language processing (NLP) to define the aforementioned mappings. For example, such one or more ML and / or AI models may include, but are not limited to, pre-trained language representation models with fine-tuning (e.g., transformer-based models) (e.g., bidirectional encoder representation (BERT) models from transformers), long short-term memory (LSTM) models, bidirectional LSTM models with conditional random field (CRF) layers (abbreviated as BiLSTM-CRF), shallow or deep neural network models, convolutional neural network (CNN) models, decision tree classifiers, and / or any supervised or unsupervised ML and / or AI models that can use similarity learning and / or similarity search processes to perform natural language processing (NLP) to define the aforementioned mappings.

[0038] System 100 may use machine learning and training neural networks or other types of models to facilitate the evaluation and identification of large amounts of data in various forms. According to one or more embodiments described herein, System 100 may also generate predictive recommendations at the individual level based on context. Aspects of the systems (e.g., System 100, etc.), apparatus, or processes explained in this disclosure may constitute machine-executable components embodied in a machine, for example, embodied in one or more computer-readable media associated with one or more machines. When executed by one or more machines (e.g., computers, computing devices, virtual machines, etc.), the components may cause the machines to perform the operations described herein. For the sake of brevity, repeated descriptions of similar elements employed in one or more embodiments described herein have been omitted.

[0039] System 100 facilitates the training of component 107 and machine learning model 108 using Platform as a Service cloud 116 to predict the probability of success of operators in new environments. The benefits include, but are not limited to, receiving new operators and namespaces to be deployed as input, and using the trained machine learning model 108 to predict the probability of successful deployment of operators in new environments.

[0040] System 100 can facilitate the evaluation and identification of large amounts of data in various forms. According to one or more embodiments described herein, System 100 can also generate individual-level predictive recommendations, thereby creating context. Aspects of the systems (e.g., System 100, etc.), apparatus, or processes explained in this disclosure can constitute machine-executable components contained in a machine, for example, contained in one or more computer-readable media associated with one or more machines. When executed by one or more machines (e.g., computers, computing devices, virtual machines, etc.), the components can cause the machines to perform the described operations. For the sake of brevity, repeated descriptions of similar elements employed in one or more embodiments described herein have been omitted.

[0041] System 100 may optionally include server equipment (not shown), one or more networks, and one or more devices (not shown). System 100 may also include or otherwise associate with a Platform as a Service (PaaS) cloud 116, which includes a trained machine learning model 108, where operators and namespaces are used as inputs. Deployment component 110 deploys the inputs based on configuration and training data and produces output 114, which predicts the probability of successful deployment of an operator in a specific environment associated with a namespace.

[0042] In the implementation, a trained machine learning model 108 predicts the probability of an operator's success in an environment with a namespace on a Platform as a Service (PaaS) cloud 116. The deployment component 110 receives a first operator and a first namespace to be deployed in a first environment on the PaaS cloud 116, and uses the trained machine learning model 108 to predict the success of the first operator's deployment in the first environment. Given input and output, the trained machine learning model 108 predicts the probability of successful deployment and applies different configurations to the namespace where the operator is expected to be deployed. The deployment output 114 can be either successful or unsuccessful. The training component 107 can train the model 108 to learn from the output data 114 and the previous history of operator deployments in different configuration environments to use machine learning to predict the expected success of the operator deployment.

[0043] System 100 can be any suitable computing device or group of computing devices communicatively coupled to a device. Non-limiting examples include, but are not limited to, server computers, computers, mobile computers, mainframe computers, automated test systems, network storage devices, communication devices, web server devices, network switching devices, network routing devices, gateway devices, network hub devices, bridge devices, control systems, or any other suitable computing device. A device can be any device capable of communicating information with System 100 and / or any other suitable device capable of taking information provided by System 100. It should be understood that System 100, components, models, or devices may be equipped with communication components (not shown) capable of communicating between systems, components, models, devices, etc., via one or more networks.

[0044] Various components of system 100 can be directly connected or connected via one or more networks. Such networks can include wired and wireless networks, including but not limited to cellular networks, wide area networks (WANs) (e.g., the Internet), or local area networks (LANs), with non-limiting examples including cellular, WAN, Wi-Fi, Wi-Max, WLAN, radio communications, microwave communications, satellite communications, optical communications, voice communications, or any other suitable communication technology. Furthermore, the aforementioned system and / or device have been described with respect to the interaction between several components. It is understood that such systems and components can include the components or sub-components specified herein, some of the specified components or sub-components, and / or additional components. Sub-components can also be implemented as components communicatively coupled to other components, rather than being included within a parent component. Furthermore, one or more components and / or sub-components can be combined into a single component providing aggregated functionality. These components can also interact with one or more other components, which are not specifically described herein for brevity, but are known to those skilled in the art.

[0045] The subject computer processing system, method apparatus and / or computer program product can be used to solve operator deployment-related problems arising from advancements in technology, computer networks, the Internet, etc.

[0046] In today's digital world, the use of operators is increasingly popular in Platform as a Service (PaaS) cloud platforms. In particular, the blocking or inability to operate operators can have a significant impact on the lifecycle of IT management in Kubernetes. Therefore, understanding the risks of operators can help mitigate the risks associated with their deployment. Implementation examples can determine the probability of successful or failed operator deployment. The likelihood of an operator's success in a PaaS environment can be determined through training and operation components. In the training component, a namespace is selected to deploy the operator. Input operators include descriptions (e.g., backups of obtaining and restoring application state) and other artifacts such as operator custom resource definitions (CRDs) (e.g., where the operator will be deployed, how the operator can operate, .yaml files, and code (logic)). Different configurations such as network policies, RBAC, admission controllers, and resource restrictions are applied to a given namespace where operators can be deployed. Upon deployment, the received output can determine whether the operator deployment was successful. In continuous operation, a new operator to be deployed and a namespace are received as input, and using a trained machine learning model 108, the probability of successful operator deployment can be predicted. This effective approach helps mitigate the risk and cost of disrupting business operations by pre-analyzing successful changes to operator deployments and by effectively scaling operator deployments to other environments by increasing confidence in the probability of success or failure (e.g., within acceptable limits) of deployments in a particular environment.

[0047] Figure 2Example flowchart 200 illustrates an integrated system for predicting the probability of an operator's success in a new environment within a Platform as a Service (PaaS) cloud. At 202, a request is submitted (e.g., by a Software Reliability Engineer (SRE)) so that an operator can be deployed in a namespace to perform some specific action. The Operator Success Prediction Service (OSPS) may, for example, communicate with the Kubernetes (K8s) API to retrieve information about network policies and other artifacts, thereby determining the probability of successful operator deployment. In these embodiments, at 204, the OSPS awaits a request, for example, from the engineer (SRE). At 206, the OSPS communicates with the new environment, for example, via the K8s Application Programming Interface (API), to retrieve information about network policies associated with the new environment. At 208, the OSPS may generate vector representations of descriptions of operators and code snippets collected from the Kubernetes (K8s) API and generate input. At 210, given the input, the OSPS runs a machine learning model and predicts the probability of successful deployment. The machine learning model may output, for example, a probability between 0 and 1 regarding the potential success rate of operator deployment in the new environment. At 212, risk levels are categorized as high / medium / low / none based on the probabilities determined by OSPS. If the policy for each risk level is low or none, then at 218, OSPS deploys the operator in the Kubernetes (K8s) cluster 220 and monitors its operation. A Kubernetes (K8s) cluster is a set of node machines running containerized applications. If the policy for each risk level at 212 is high or medium, then at 216, OSPS notifies the SRE by identifying which parts might cause errors and requests the SRE to resolve and resubmit. This process returns to 202, where, regardless of whether the risk level is successful or not, the SRE can submit a request to deploy the operator in the namespace to perform some specific action, and at 214, OSPS can add such experience to the knowledge base for use in conjunction with active learning. This process can be repeated starting from 204, where OSPS waits for another request from the SRE. The risk level categorization is based on high / medium / low / none; the policy specifies the action of either deploying or returning to the SRE. Through this continuous (or iterative) operation, the previous history of operator deployments can be used in various configuration environments to predict the success of operator deployments using machine learning. Active learning can be continuously performed to train and develop machine learning models based on new operator deployments in different environments.

[0048] Figure 3An example architecture 300 is shown to facilitate predicting operator success based on environment similarity analysis. Architecture 300 facilitates determining the likelihood that an operator will function correctly in a new environment, such as in a different cloud or in different namespaces within the same cluster. As described in the advanced overview architecture 300, the operator is deployed in namespace 302. OSPS 304 is a success prediction service used to determine whether the deployment was successful and provides a success rate, for example, between 0 and 1. In this example, the probability of success is 0.8. There may be some strategy 306 to manage this process, where the operator is deployed if the probability criterion for success is greater than X (where X is a predetermined threshold), and not deployed if it is below the threshold C. In this case, if 0.8 is classified as high, the operator is deployed, and if it fails, it can be reported. Other artifacts can be obtained from OpenShift. ® The configuration of namespaces, codes, or other relevant characteristics is determined from other sources. Data is processed within a Kubernetes cluster 308; a Kubernetes cluster can include components representing the control plane and a set of machines called nodes. It can also include containerized applications, deployment processes, and node processes. This cluster can schedule and run containers on a set of machines in a PaaS cloud. Operators deployed in different environments or configurations, along with their success and failure data 310, can be fed into an operator knowledge base 316. The operator knowledge base 316 can store operator-customized resource definition codes 312 and environment configurations 314, such as network policies, role-based access control (RBAC), admission controllers, and resource restrictions. Training data 318 collected over time can be used for active learning 320, where new operators are deployed to known namespaces. The supervised machine learning model, also known as similarity learning, examines two different environment configurations and provides a similarity score between baseline environments, where, based on existing knowledge, the operator will operate safely and correctly relative to the new environment intended for deployment.

[0049] Implementations of machine learning models can be trained to predict the success of operators. Many algorithms exist, such as SVMs, decision trees, and neural networks that can be used to describe models. According to one implementation, the trained machine learning model employs similarity learning to predict the successful deployment of a first operator in an environment. Similarity learning is part of a supervised machine learning process where it categorizes objects to measure their relationship. In similarity learning, data is transformed into vectors, and distance metrics are used to compare these vectors; distance can be categorized as similar or dissimilar. In these implementations, operators are deployed in an environment, and similarity learning is used to predict the success of deployment in the new environment. Example algorithms are described below:

[0050]

[0051] It contains the operator 'o'. i It has descriptions and associated code c i Namespaces have specific configuration characteristics. i1 , f i2 ,..., f in Output y i This can facilitate determining the success or failure of operator deployment. In similarity learning, a flag is generated if the model encounters any security issues. By using predefined parameters, machine learning models can classify internal data and other security breaches associated with the deployment. Machine learning models can learn from different actions performed for specific types of events to help predict fraudulent activities and identify security risks. Various language modeling techniques are available, such as those that can be used to map operators. i The word embeddings, which provide word descriptions instead of codes, produce a numeric vector v. i1 This can be represented by code embedding, where given code c i Generate vector v i2 Similarly, code embeddings are mapped to namespace features, resulting in a vector v. i3 Output Y is produced by using any suitable machine learning model that takes X as input. Vector representations of the training data can be generated for computation. In similarity learning analysis, multiple environments are utilized to provide operational capability information. In this case, data from previous environments can be taken and modeled to analyze and compare outputs, thereby predicting the probability of an operator's success in a new environment. Configuration can be set to namespaces and deployed along with the operator. The output of the operator's deployment can be used with other namespaces.

[0052] Figure 4 This demonstrates training a machine learning model 108 based on training data. Figure 1Here is an example block-level view of the feedback from active learning. Active learning is an algorithm in machine learning models where new data points are labeled with the desired output. In this process 400, based on the query, process 400 prioritizes the data to be labeled to have an appropriate impact on training the supervised model. In active learning, a large amount of data can be randomly sampled from the underlying distribution, and this large dataset can be used to train model 108 to perform predictions, such as the success of operator deployment in a PaaS environment. A query can be made to the unlabeled set 404, and then at 406, model 108 uses this unlabeled set to predict success or failure, and can use feedback from the user to validate the prediction. Similarly, the labeled set operator 402 can reside in a namespace trained on the training data. At 406, model 108 predicts success or failure based on the training data, and can obtain feedback from the user to validate the prediction. The training data can be updated with namespaces and labels as needed. The following shows a non-restrictive example code:

[0053]

[0054] This model 108 can be used whenever a new output is learned from a new operator with a new namespace or an old operator. Policies can be defined based on probability; if the probability of success is greater than a threshold, it is considered low-risk, with actions predefined based on risk factors. For example, a policy can be defined that allows low-risk activities to be deployed but not high-risk activities. Furthermore, utility-based analysis can be implemented, allowing the benefits of accurate predictions to be weighed against the costs of inaccurate predictions. The system can allow predefined actions for each risk prediction. In some cases, automation can deploy operators with greater confidence when the risk is low (threshold). On the other hand, when the risk is high (threshold), the system can notify CI / CD experts to investigate and resolve potential risks, or confirm that identified problems will not cause operators to fail. These actions can be learned from data or through active learning, or adjusted as more data is collected over time.

[0055] Figure 5An example global network policy applied to a namespace in an environment is shown. As shown in 500, an email (EML) file can include information about where the network policy will be applied to a namespace. As described in the code, this is global network policy 502, and it can be applied to a namespace that rejects node ports. There are also specific actions 504 that can be encoded, where ports are rejected at 506, such as ports 30000:32767 on TCP protocol 508. Similarly, another set of actions 510 can be listed, where port range 512 from 30000:32767 on UDP protocol 514 is rejected. In this case, applications deployed within the namespace are not accepted on these ports—any operators operating on these ports may fail.

[0056] Figure 6 An example flowchart of a neural network architecture is shown, where code is used to generate numerical vectors. In machine learning models, code (logic) is represented numerically. As shown, code is taken as input, generating a numerical vector representation for machine learning. This neural model represents code snippets as continuous, distributed vectors, also known as code embeddings. The process begins by decomposing code 602 into a set of paths as fully connected layers, while learning atomic representations of the paths and how to aggregate a set of context vectors. The code is taken and processed into neural network 604, which generates vectors as output 608. This is the numerical representation of the code given at the beginning. This vector representation can be used in machine learning model 610 and generate prediction 612. Similarly, operator code can also be taken and converted into vectors. The context vectors of code snippets or combinations are represented as a single fixed-length code vector, which can be used to predict the success of operator deployment. Comparison with previous techniques on the same dataset results in a relative improvement in providing accurate predictions based on large, cross-project data. Code vectors trained on this dataset can predict method names from files not observed during training, and the model learns to capture semantic similarity, combination, and analogy of method name vectors. Code-to-vector provides a method for converting code into vectors for machine learning applications. Therefore, the novelty lies in transforming code into a vector representation and using this vector representation to predict the success of operators in new environments where different configurations are written as code.

[0057] The implementation increases the likelihood of successful operator deployment; in case of failure, the scores can serve as a troubleshooting guide, starting with missing configuration files. Furthermore, the absence of security measures in the new environment is an indicator of what is expected to ensure the safety of other workloads around the operator in the same cluster. Test environments or previous production environments provide example environments where the operator has functioned as expected. This information can be used to perform similarity analysis to compare the new environment with the existing one. Supervised machine learning, i.e., similarity learning, can be used to predict the success of operators in the new environment. When it is predicted that an operator may not function properly in the new environment, similarity analysis can provide clues about where to begin the troubleshooting process. There are many common approaches to similarity and distance measurement learning. In regression similarity learning, pairs of objects are given along with a measure of similarity and the minimization of a moderated loss. Categorical similarity learning determines whether a pair of new objects is similar. In ranking similarity learning, a relative order of similarity is provided. For example, similarity ranking can start with the objects with the greatest differences and proceed downwards to the objects with the least differences. This ranking can save troubleshooting time and effort, and this hierarchical framework helps to scale across relatively large applications. Furthermore, if the new environment differs significantly from the baseline environment, and if it lacks the safety controls found in the baseline environment, similarity analysis can be used to signal that the new environment may be inappropriately unsafe.

[0058] In order to provide context for the various aspects of the disclosed topic, Figure 7 The following discussion is intended to provide a general description of the suitable environment in which the various aspects of the disclosed topics can be realized. Figure 7 A block diagram of an exemplary, non-limiting operating environment is shown, in which one or more embodiments described herein may be facilitated. For the sake of brevity, repeated descriptions of similar elements employed in other embodiments described herein are omitted.

[0059] refer to Figure 7The suitable operating environment 700 for implementing various aspects of this disclosure may further include a computer 712. The computer 712 may further include a processing unit 714, system memory 716, and a system bus 718. The system bus 718 couples system components, including but not limited to system memory 716, to the processing unit 714. The processing unit 714 may be any of a variety of available processors. Dual microprocessors and other multiprocessor architectures may also be used as the processing unit 714. The system bus 718 may be any of several types of bus architectures, including memory buses or memory controllers, peripheral buses or external buses, and / or local buses using any kind of available bus architecture, including but not limited to Industry Standard Architecture (ISA), Micro Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronic Devices (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), FireWire (IEEE 1394), and Small Computer System Interface (SCSI).

[0060] System memory 716 may also include volatile memory 720 and non-volatile memory 722. The Basic Input / Output System (BIOS), containing basic routines such as those for transferring information between components within the computer 712 at startup, is stored in non-volatile memory 722. Computer 712 may also include removable / non-removable, volatile / non-volatile computer storage media. For example, Figure 7 Disk storage device 724 is shown. Disk storage device 724 may also include, but is not limited to, devices such as disk drives, floppy disk drives, tape drives, Jaz drives, Zip drives, LS-100 drives, flash memory cards, or Memory Sticks. Disk storage device 724 may also include a standalone storage medium or a storage medium combined with other storage media. To facilitate connection of disk storage device 724 to system bus 718, a removable or non-removable interface, such as interface 726, is typically used. Figure 7 Software that acts as an intermediary between the user and the basic computer resources described in the suitable operating environment 700 is also described. Such software may also include, for example, an operating system 728. The operating system 728, which may be stored on a disk storage device 724, is used to control and allocate the resources of the computer 712.

[0061] System application 730 utilizes operating system 728 to manage resources through program module 732 and program data 734, which are stored, for example, in system memory 716 or disk storage device 724. It should be understood that this disclosure can be implemented using various operating systems or combinations of operating systems. The user inputs commands or information to computer 712 through input device 736. Input device 736 includes, but is not limited to, pointing devices such as a mouse, trackball, pen, touchpad, keyboard, microphone, joystick, game controller, satellite dish, scanner, TV tuner card, digital camera, digital camcorder, network camera, etc. These and other input devices are connected to processing unit 714 via interface port 738 through system bus 718. Interface port 738 includes, for example, serial port, parallel port, game port, and Universal Serial Bus (USB). Output device 740 uses some of the same type of ports as input device 736. Therefore, for example, a USB port can be used to provide input to computer 712 and output information from computer 712 to output device 740. Output adapter 742 is provided to illustrate the existence of output devices 740, such as monitors, speakers, and printers, as well as other output devices 740 that require special adapters. By way of illustration and not limitation, output adapter 742 includes video cards and sound cards that provide a means of connection between output devices 740 and the system bus 718. It should be noted that other devices and / or device systems provide input and output capabilities, such as a remote computer 744.

[0062] Computer 712 can be used to operate in a networked environment via a logical connection to one or more remote computers, such as remote computer 744. Remote computer 744 can be a computer, server, router, network PC, workstation, microprocessor-based device, peer-to-peer device, or other common network node, and typically may also include many or all of the elements described relative to computer 712. For simplicity, only memory storage device 746 is shown for remote computer 744. Remote computer 744 is logically connected to computer 712 via network interface 748 and then physically connected via communication connection 750. Network interface 748 includes wired and / or wireless communication networks, such as local area networks (LANs), wide area networks (WANs), cellular networks, etc. LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring, etc. WAN technologies include, but are not limited to, point-to-point links, circuit-switched networks like Integrated Services Digital Network (ISDN) and its variants, packet-switched networks, and Digital Subscriber Line (DSL). Communication connection 750 refers to the hardware / software used to connect network interface 748 to system bus 718. Although for clarity, the communication connection 750 is shown as being inside the computer 712, it can also be outside the computer 712. For illustrative purposes only, the hardware / software for connecting to the network interface 748 may also include internal and external technologies, such as modems including conventional telephone-grade modems, cable modems, and DSL modems, ISDN adapters, and Ethernet cards.

[0063] Now for reference Figure 8 The diagram illustrates an illustrative cloud computing environment 850. As shown, the cloud computing environment 850 includes one or more cloud computing nodes 810, with local computing devices used by cloud consumers, such as personal digital assistants (PDAs) or cellular phones 854A, desktop computers 854B, laptop computers 854C, and / or automotive computer systems 854N, capable of communicating with these cloud computing nodes. Although... Figure 8 Not shown, but cloud computing node 810 may also include a quantum platform (e.g., a quantum computer, quantum hardware, quantum software, etc.) that the local computing device used by the cloud consumer can communicate with. Nodes 810 can communicate with each other. It can be physically or virtually grouped in one or more networks (not shown), such as the private, community, public, or hybrid clouds described above, or a combination thereof. This allows cloud computing environment 850 to provide infrastructure, platform, and / or software as a service, without requiring cloud consumers to maintain resources on their local computing devices. It should be understood that... Figure 8The types of computing devices 854A-N shown are for illustrative purposes only, and the computing node 810 and cloud computing environment 850 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0064] Now for reference Figure 9 This demonstrates the 850 (cloud computing environment) Figure 8 This provides a set of functional abstractions. It should be understood beforehand. Figure 9 The components, layers, and functions shown are illustrative only, and embodiments of the invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0065] The hardware and software layer 960 includes hardware and software components. Examples of hardware components include: a mainframe 961; a RISC (Reduced Instruction Set Computer) based server 962; a server 963; a blade server 964; a storage device 965; and a network and networking component 966. In some embodiments, software components include network application server software 967, quantum platform routing software 968, and / or quantum software (…). Figure 9 (Not shown in the image).

[0066] The virtualization layer 970 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 971; virtual storage 972; virtual network 973, including virtual private network; virtual application and operating system 974; and virtual client 975.

[0067] In one example, the management layer 980 can provide the following functions: Resource Provisioning 981 provides dynamic procurement of computing resources and other resources used to perform tasks in the cloud computing environment. Metering and Pricing 982 provides cost tracking when resources are used in the cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks and protection for data and other resources. User Portal 983 provides access to the cloud computing environment for consumers and system administrators. Service Level Management 984 provides cloud resource allocation and management to meet required service levels. Service Level Agreement (SLA) Planning and Fulfillment 985 provides pre-planning and procurement of cloud resources, based on the SLA, to ensure that future demand for cloud resources is predictable.

[0068] Workload layer 990 provides examples of functionalities that can be leveraged in a cloud computing environment. Non-limiting examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 991; software development and lifecycle management 992; virtual classroom education delivery 993; data analysis and processing 994; transaction processing 995; and quantum state preparation software 996.

[0069] This invention can be any possible system, method, apparatus, and / or computer program product at any level of integration technical detail. A computer program product may include one or more computer-readable storage media having computer-readable program instructions thereon for causing a processor to execute aspects of the invention. A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media may also include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punched cards or protrusions in grooves on which instructions are recorded, and any suitable combinations of the foregoing. As used herein, computer-readable storage media should not be construed as being a transient signal, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0070] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded via a network to an external computer or external storage device, such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in the computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device. The computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. Computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet through an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, a field-programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry, thereby performing aspects of the invention.

[0071] This document describes various aspects of the invention with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that blocks of flowchart illustrations and / or block diagrams, and combinations of blocks in flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executable via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. These computer-readable program instructions can also be stored in a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other apparatus to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored includes an article of manufacture comprising instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operations to be performed on the computer, other programmable apparatus or other device, thereby producing a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus or other device perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0072] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, blocks in flowcharts or block diagrams may represent modules, segments, or portions of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions marked in the blocks may occur in a non-linear order. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that blocks in block diagrams and / or flowcharts, and combinations of blocks in block diagrams and / or flowcharts, may be implemented by a system based on dedicated hardware that performs the specified functions or actions or executes a combination of dedicated hardware and computer instructions.

[0073] Although the subject matter has been described above in the general context of computer executable instructions for a computer program product running on one and / or multiple computers, those skilled in the art will recognize that this disclosure can also be implemented, or can be combined with other program modules. Typically, program modules include routines, programs, components, data structures, etc. They perform specific tasks and / or implement specific abstract data types. Furthermore, those skilled in the art will understand that the computer implementation methods of the present invention can be implemented using other computer system configurations, including single-processor or multi-processor computer systems, small computing devices, mainframe computers, and computers, handheld computing devices (e.g., PDAs, telephones), microprocessor-based or programmable consumer or industrial electronic products, etc. The aspects shown can also be implemented in a distributed computing environment, where tasks are performed by remote processing devices linked via a communication network. However, some, if not all, aspects of this disclosure can be implemented on a standalone computer. In a distributed computing environment, program modules can reside in both local and remote memory storage devices.

[0074] As used herein, the terms “component,” “system,” “platform,” “interface,” etc., may refer to and / or include computer-related entities or entities related to an operating machine having one or more specific functions. Entities disclosed herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, processor, object, executable program, execution thread, program, and / or computer running on a processor. For instance, an application running on a server and the server itself can both be components. One or more components may reside in an executing process and / or thread, and components may be located on a single computer and / or distributed across two or more computers. In another example, individual components may be executable from various computer-readable media on which various data structures are stored. These components may communicate via local and / or remote processes, for example, based on signals having one or more data packets (e.g., data from a component via which it interacts with another component in a local system, a distributed system, and / or with other systems via a network such as the Internet). As another example, a component may be a device having specific functions provided by mechanical parts operated by electrical or electronic circuitry, operated by software or firmware applications executed by a processor. In this scenario, the processor can be internal or external to the device and can execute at least a portion of the software or firmware application. As another example, the component can be a device that provides specific functionality through electronic components without mechanical parts, wherein the electronic components can include a processor or other means to execute software or firmware that at least partially endows the electronic components with functionality. In one aspect, the component can be emulated via a virtual machine (e.g., within a cloud computing system).

[0075] Furthermore, the term "or" is intended to indicate an inclusive "or," not an exclusive "or." That is, unless otherwise stated or clearly indicated from the context, "X adopts A or B" is intended to indicate any natural inclusive permutation. In other words, if X adopts A; X adopts B; or X adopts both A and B, then "X adopts A or B" is satisfied in any of the foregoing cases. Additionally, the articles "a" and "an" used in the subject matter specification and figures should generally be interpreted as meaning "one or more," unless otherwise stated or clearly indicated from the context as referring to the singular form. As used herein, the terms "example" and / or "exemplary" are used to indicate that they serve as examples, instances, or illustrations. For the avoidance of doubt, the subject matter disclosed herein is not limited to these examples. Furthermore, any aspect or design described herein as "example" and / or "exemplary" is not necessarily to be construed as superior to or better than other aspects or designs, nor does it imply the exclusion of equivalent exemplary structures and techniques known to those skilled in the art.

[0076] As used in this subject matter specification, the term "processor" can refer to substantially any computing processing unit or device, including but not limited to a single-core processor; a single processor with software multithreading capabilities; a multi-core processor; a multi-core processor with software multithreading capabilities; a multi-core processor employing hardware multithreading technology; a parallel platform; and a parallel platform with distributed shared memory. Furthermore, a processor can refer to an integrated circuit, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Additionally, processors can utilize nanoscale architectures, such as, but not limited to, molecular and quantum dot-based transistors, switches, and gates, to optimize space utilization or enhance the performance of user devices. Processors can also be implemented as a combination of computing processing units. In this disclosure, terms such as "storage," "storage device," "data storage," "data storage apparatus," "database," and any other information storage component substantially related to the operation and function of a component are used to refer to a "memory component," an entity embodied in "memory," or a component that includes memory. It should be understood that the memory and / or memory components described herein may be volatile or non-volatile memory, or may include both volatile and non-volatile memory. By way of illustration and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may serve as, for example, external cache memory. By way of illustration and not limitation, RAM may be available in various forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). Furthermore, the memory components of the systems or computer-implemented methods disclosed herein are intended to include, but are not limited to, these and any other suitable types of memory.

[0077] The above description includes only examples of systems and computer-implemented methods. It is certainly impossible to describe every possible combination of components or computer-implemented methods for the purpose of describing this disclosure, but those skilled in the art will recognize that many further combinations and substitutions of this disclosure are possible. Furthermore, with regard to the terms “comprising,” “having,” “possessing,” etc., used in the detailed description, claims, appendices, and drawings, these terms are intended to be included in a manner similar to how the term “comprising” is interpreted when used as a transitional term in the claims.

[0078] For illustrative purposes, various embodiments have been described, but these descriptions are not intended to be exhaustive or limiting of the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A system comprising: A processor that executes computer-executable components stored in memory, wherein the computer-executable components include: The training component uses training data including historical operators, historical contexts, historical namespaces associated with the historical contexts, historical configurations associated with the historical namespaces, and historical outputs indicating whether corresponding combinations of features of the historical operators and the historical configurations were successful to train a machine learning model. The corresponding descriptions of the historical operators are converted into historical description vectors. The corresponding program code of the historical operators is converted into a historical code vector. The features of the historical configuration are converted into historical feature vectors. A combined vector is generated based on the historical description vector, the historical code vector, the historical feature vector, and the historical output. Based on the combined vector, predict the success probability of deploying operators in an environment with a Platform as a Service (PaaS) cloud namespace; and Deployment component, the deployment component: Receive the first operator and first namespace of the first environment of the first PaaS cloud, and The machine learning model is used to predict the probability of successful deployment of the first operator in the first namespace of the first environment.

2. The system of claim 1, further comprising the first namespace having a first configuration suitable for the first namespace.

3. The system of claim 1, wherein the deployment component deploys the first operator to the first namespace of the first environment in response to the success probability exceeding a defined threshold.

4. The system of claim 1, wherein, The deployment component generates a notification regarding the prediction failure of the first operator in the first namespace of the first environment in response to the success probability not exceeding a defined threshold.

5. The system according to claim 1, wherein, The machine learning model uses similarity learning to predict the probability of successful deployment of the first operator in the first namespace of the first environment.

6. The system according to claim 5, wherein, The similarity learning is used to provide instructions for troubleshooting deployments of the first operator deployment in the first namespace of the first environment.

7. The system according to claim 5, wherein, The similarity learning is used to generate flags about security issues associated with the deployment of the first operator in the first namespace of the first environment.

8. A computer-implemented method employing a processor and memory, comprising: The machine learning model is trained by a system operationally coupled to the processor using training data including historical operators, historical contexts, historical namespaces associated with the historical contexts, historical configurations associated with the historical namespaces, and historical outputs indicating whether corresponding combinations of features of the historical operators and the historical configurations were successful. The corresponding descriptions of the historical operators are converted into historical description vectors. The corresponding program code of the historical operators is converted into a historical code vector. The features of the historical configuration are converted into historical feature vectors. A combined vector is generated based on the historical description vector, the historical code vector, the historical feature vector, and the historical output. Based on the combined vector, predict the success probability of deploying operators in an environment with a Platform as a Service (PaaS) cloud namespace; The system receives the first operator and the first namespace of the first environment of the first PaaS cloud; as well as The system uses the machine learning model to predict the probability of successful deployment of the first operator in the first namespace of the first environment.

9. The computer-implemented method of claim 8, wherein the first namespace has a first configuration suitable for the first namespace.

10. The computer-implemented method of claim 9, further comprising, in response to the success probability exceeding a defined threshold, the system deploying the first operator to the first namespace of the first environment.

11. The computer-implemented method of claim 8, further comprising, in response to the success probability not exceeding a defined threshold, the system generating a notification regarding the prediction failure of the first operator in the first namespace of the first environment.

12. The computer-implemented method of claim 8, further comprising using similarity learning by the system to predict the probability of successful deployment of the first operator in the first namespace of the first environment.

13. The computer-implemented method of claim 12, further comprising using similarity learning to provide instructions for troubleshooting deployments of a first operator deployment in the first namespace of the first environment.

14. The computer-implemented method of claim 12, further comprising using similarity learning to generate a flag relating to a security issue in the middle of the first namespace of the first environment to the first operator.

15. A computer program product comprising program instructions executable by a processor to cause the processor to: The machine learning model is trained using training data that includes historical operators, historical contexts, historical namespaces associated with historical contexts, historical configurations associated with said historical namespaces, and historical outputs indicating whether corresponding combinations of features of the historical operators and said historical configurations were successful. The corresponding descriptions of the historical operators are converted into historical description vectors. The corresponding program code of the historical operators is converted into a historical code vector. The features of the historical configuration are converted into historical feature vectors. A combined vector is generated based on the historical description vector, the historical code vector, the historical feature vector, and the historical output. Based on the combined vector, predict the success probability of deploying operators in an environment with a Platform as a Service (PaaS) cloud namespace; Receive the first operator and first namespace of the first environment of the first PaaS cloud; and The machine learning model is used to predict the probability of successful deployment of the first operator in the first namespace of the first environment.

16. The computer program product of claim 15, wherein the first namespace has a first configuration suitable for the first namespace.

Citation Information

Patent Citations

  • Deploying machine learning-based models

    US10803392B1

  • Data analysis and support engine

    US20180285750A1