Automatic detection of deployment environments and configuration of private clouds
By using a multi-platform machine learning algorithm to implement script training, automatically detect and generate automated scripts, the problem of deployment complexity between different IaaS and PaaS environments is solved, and rapid and seamless private workload deployment is achieved, improving efficiency and return on investment.
Patent Information
- Application Number
- CN202411152241.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-22
- Filing Date
- 2024-08-21
- Publication Date
- 2025-02-25
AI Technical Summary
The prior art has difficulty in rapidly adjusting and deploying private workloads between different infrastructure as a service (IaaS) and platform as a service (PaaS) environments, resulting in increased deployment complexity and reduced efficiency.
Automatically detect deployed environments and generate automated scripts and programs for seamless porting of computer applications between different IaaS or PaaS platforms through machine learning algorithms that implement script training using multi-platform machine learning algorithms, automatically detect deployed environments, generate automated scripts and programs for seamless porting of computer applications between different IaaS or PaaS platforms.
The rapid and seamless deployment of private workloads between different IaaS and PaaS environments reduces deployment complexity and time, and improves efficiency and return on investment.
Smart Images

Figure CN119512681A_ABST
Abstract
Description
Technical Field
[0001] Implementations described herein generally relate to automatic detection of deployment environments for computer applications, configuration of private clouds for those computer applications, and extension of those private clouds for environmental capabilities. Background Art
[0002] With the recent shift of employees working from home and actually working anywhere in the business world, the demand for hybrid cloud growth has led to more companies wanting to run their computer applications on private networks. When it comes to private networks or private clouds, there are many options, both infrastructure as a service (IaaS) and platform as a service (PaaS). For example, for IaaS, there are Amazon Web Services (AWS), Azure, Google Cloud (Google Cloud), VMWARE, Open Stack and Linux clusters. All of these deployment platforms use methods, services and features for deploying computer applications or workloads. For example, AWS provides relational database services (RDS) and / or S3 object storage, but RDS or S3 object storage are not available on Azure or VMWARE.
[0003] Relatedly, while cloud adoption is growing rapidly, deployment complexity is also growing proportionally, creating significant barriers to quickly adapting private workloads across different IaaS and PaaS environments. This is because the IaaS or PaaS that is ultimately chosen will ultimately drive what an entity owns and manages in the environment, as well as the workload specifications that the environment is capable of handling. In order to identify private workload deployment patterns that help enterprises overcome their current challenges, it is necessary to determine which option best suits the enterprise's needs regarding both control and location of the environment in a time-efficient manner. Specifically, current private workload deployment approaches are extreme tasks and solutions that are specific to any particular IaaS or PaaS platform. For private cloud deployments, subject matter experts in compute, storage, and network automation are required to ensure that private workloads meet the needs of the solution when moving from one IaaS or PaaS platform to another. Summary of the invention
[0004] One aspect of the present disclosure provides a computerized process, comprising: receiving a machine learning algorithm trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); detecting the deployment environment of a computer application on a deployed IaaS or a deployed PaaS; providing an automated computer application script used to deploy a computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output including an automated script and program for porting the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; providing the automated script generated by the machine learning algorithm to a platform tool to create and configure a new IaaS or a new PaaS; and porting the computer application to the new IaaS or a new PaaS using the platform tool and program.
[0005] Another aspect of the present disclosure provides a non-transitory machine-readable medium, which includes instructions for performing a process when executed by a processor, the process including: receiving a machine learning algorithm trained using implementation scripts for multiple infrastructure as a service (IaaS) and platform as a service (PaaS); detecting the deployment environment of a computer application on a deployed IaaS or a deployed PaaS; providing an automated computer application script used to deploy a computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output including an automated script and program for migrating a computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; providing the automated script generated by the machine learning algorithm to a platform tool to create and configure a new IaaS or a new PaaS; and using the platform tool and program to migrate the computer application to the new IaaS or a new PaaS.
[0006] Yet another aspect of the present disclosure provides a system comprising: a computer processor; and a memory coupled to the computer processor; wherein the computer processor and the memory are operable to: receive a machine learning algorithm trained using implementation scripts for a plurality of infrastructure as a service (IaaS) and platform as a service (PaaS); detect a deployment environment of a computer application on a deployed IaaS or a deployed PaaS; provide an automated computer application script used to deploy a computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receive an output from the trained machine learning algorithm, the output comprising an automated script and program for migrating a computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; provide the automated script generated by the machine learning algorithm to a platform tool to create and configure a new IaaS or a new PaaS; and use the platform tool and program to migrate the computer application to the new IaaS or a new PaaS. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In the accompanying drawings, which are not necessarily drawn to scale, similar reference numerals may describe similar components in different views. Similar reference numerals with different letter suffixes may represent different instances of similar components. Some embodiments are shown by way of example and not limitation in the figures of the accompanying drawings.
[0008] Figure 1A , Figure 1B and Figure 1C is a block diagram of the operations and features of a system for automatically detecting deployment environments of computer applications and configuring a private cloud for those computer applications.
[0009] Figure 2 is a block diagram of a computer architecture upon which one or more of the embodiments disclosed herein may be executed. DETAILED DESCRIPTION
[0010] Embodiments of the present disclosure provide an easy and efficient method for deploying private workloads (i.e., computer applications) on any Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and / or Software as a Service (SaaS). Embodiments not only determine the specific infrastructure and features of both the current deployment environment and potential new deployment environments, but also set parameters for accessing the new deployment environment, establish ownership of the new deployment environment, and determine how much space is available on the new deployment environment. Embodiments facilitate easy and seamless deployment of private workloads on different IaaS and / or PaaS environments. Embodiments also solve the private deployment problem by helping entities determine whether deployment can be performed on existing IaaS and / or PaaS hardware in hours rather than months.
[0011] The goal of an embodiment is to create an artificial intelligence-based engine that understands different IaaS and PaaS platforms and solution requirements to provide automated scripts and procedures to seamlessly migrate workloads from one IaaS or PaaS platform to another in a shorter time and with a better return on investment. An embodiment provides a trained AI engine and software and tools to generate a set of curated rules to detect the capabilities of the current IaaS or PaaS platform, then automatically generate platform-based configuration script files, and also provide steps to migrate applications / solutions from the current IaaS / PaaS platform to the new IaaS / PaaS platform.
[0012] This is accomplished through a comparative analysis of both platforms, with the goal of running the existing solution on the new platform, generating differences between the two platforms, and using tools to generate scripts to produce the desired results. This is then compared to the configuration generated by the IaaS / PaaS to ensure that these steps will meet the intended needs and purpose of the private workload.
[0013] If the requirements are met, a new expected IaaS / PaaS environment is created. This automation implementation uses common technologies for creating IaaS / PaaS platforms, such as Terraform, Packers, and Ansible scripts for configuring the IaaS layer. Thereafter, the PaaS layer can be created for Kubernetes-based solutions using Kubespray and Ansible. The expected workload or application functionality is driven by the Helms chart on top of the PaaS.
[0014] Figure 1A , Figure 1B and Figure 1C is a block diagram illustrating an example implementation of a system and process for automatically detecting deployment environments of computer applications and configuring a private cloud for those computer applications. Figure 1A , Figure 1B and Figure 1C It includes several operations and feature blocks 110 to 160. Although Figure 1A , Figure 1B and Figure 1C In the example of FIG. 1 , the blocks are arranged substantially serially, but other examples may reorder the blocks, omit one or more blocks, and / or execute two or more blocks in parallel using a single processor or multiple processors organized as two or more virtual machines or sub-processors.
[0015] Now refer to Figure 1A , Figure 1B and Figure 1CAt 110, a machine learning algorithm is trained using implementation scripts for creating multiple infrastructure as a service (IaaS) and platform as a service (PaaS). As indicated at 112, a machine learning algorithm may also be trained using multiple software as a service (SaaS) applications.
[0016] At 120, a deployment environment of a computer application on a deployed IaaS or a deployed PaaS is determined. As indicated at 122, the deployment environment may include a structure of the deployed IaaS or the deployed PaaS, characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, an ownership identity of the deployed IaaS or the deployed PaaS, and storage space available on the deployed IaaS or the deployed PaaS.
[0017] At 130 , an automated computer application script for deploying a computer application on a deployed IaaS or a deployed PaaS is provided to a trained machine learning algorithm.
[0018] At 140, the trained machine learning algorithm generates outputs. The outputs include automated scripts and programs for migrating computer applications on a deployed IaaS or a deployed PaaS to a new IaaS or a new PaaS.
[0019] At 150, the automated script generated by the machine learning algorithm is provided to a platform tool that is used to create and configure a new IaaS or a new PaaS. At 152, the deployment environment of the deployed IaaS is compared to the deployment environment of the new IaaS, and / or the deployment environment of the deployed PaaS is compared to the deployment environment of the new PaaS. These comparisons verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
[0020] As indicated at 154, the platform tools may include one or more of the Terraform tool, the packer tool, the Ansible script, the Kubespray tool, and the Helm chart. As known to those skilled in the art, Terraform is an open source infrastructure as code software tool. Users define and provide data center infrastructure using a declarative configuration language. Terraform manages external resources (such as public cloud infrastructure, private cloud infrastructure, network equipment, SaaS, and PaaS) through providers. Users can interact with Terraform providers by declaring resources or by calling data sources. Instead of using imperative commands to provide resources, Terraform uses declarative configuration to describe the desired final state. Once a user calls Terraform on a given resource, Terraform will perform CRUD (create, read, update, and delete) actions on behalf of the user to achieve the desired state. Infrastructure as code can be written as modules, thereby improving reusability and maintainability. Terraform modules are designed to simplify the creation of multiple resources by logically grouping multiple resources into a single reusable supply. This minimizes development time and reduces redundancy, making it easier for users to create complex infrastructure components without writing a lot of code.
[0021] The packer tool compresses the software used to create a new IaaS or a new PaaS. The packer tool can compress code and data into a single executable file. This of course saves resources on the system. Ansible script is a software tool suite that implements infrastructure as code. The suite includes software provisioning, configuration management, and application deployment capabilities.
[0022] Kubespray is used to deploy Kubernetes clusters. Kubernetes defines a set of building blocks ("primitives") that together provide a mechanism for deploying, maintaining, and scaling applications based on CPU, memory, or custom metrics. Kubernetes is loosely coupled and extensible to meet different workloads. Internal components as well as extensions and containers running on Kubernetes rely on the Kubernetes API. The platform exerts its control over compute and storage resources by defining resources as objects, which can then be managed as such. Helm and its associated charts are package managers for Kubernetes that make it easy to deploy applications and services to Kubernetes clusters.
[0023] More specifically, as indicated at 154A, Terraform tools, packers tools, and ansible scripts are used to configure a new IaaS. As indicated at 154B, Kubespray tools and ansible scripts are used to configure a new PaaS. As indicated at 154C, Helm charts are used to build the functionality of a new IaaS or a new PaaS.
[0024] At 160 , the computer application is ported to the new IaaS or the new PaaS using platform tools and procedures.
[0025] Figure 2 is a block diagram illustrating a computing and communications platform 200 in the example form of a general purpose machine in accordance with various embodiments, Figure 1A , Figure 1B and Figure 1C Some or all of the operations in can be performed on the computing and communication platform 200. In some embodiments, programming the computing platform 200 according to one or more specific algorithms produces a special-purpose machine when the programming is executed. In a networked deployment, the computing platform 200 can operate in the capacity of a server or a client machine in a server-client network environment, or the computing platform 200 can act as a peer machine in a peer-to-peer (or distributed) network environment.
[0026] The example computing platform 200 includes at least one processor 202 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both, a processor core, a computing node, etc.), a main memory 201, and a static memory 206, which communicate with each other via a link 208 (e.g., a bus). The computing platform 200 may also include a video display unit 210, an input device 217 (e.g., a keyboard, a camera device, a microphone), and a user interface (UI) navigation device 211 (e.g., a mouse, a touch screen). The computing platform 200 may additionally include a storage device 216 (e.g., a drive unit), a signal generating device 218 (e.g., a speaker), a sensor 224, and a network interface device 220 coupled to a network 226.
[0027] The storage device 216 includes a non-transitory machine-readable medium 222 on which is stored one or more sets of data structures and instructions 223 (e.g., software) embodied or utilized by any one or more of the methods or functions described herein. During execution of the instructions 223 by the computing platform 200, the instructions 223 may also reside in whole or at least in part in the main memory 201, the static memory 206, and / or in the processor 202, wherein the main memory 201, the static memory 206, and the processor 202 also constitute machine-readable media.
[0028] Although the machine-readable medium 222 is shown as a single medium in the example embodiment, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) storing one or more instructions 223. The term "machine-readable medium" may also be considered to include any tangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine and causing the machine to perform any one or more of the methods of the present disclosure, or capable of storing, encoding, or carrying data structures utilized by or associated with such instructions. Therefore, the term "machine-readable medium" should be considered to include, but is not limited to, solid-state memory and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, such as, but not limited to, semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0029] The above detailed description includes reference to the accompanying drawings, which form a part of the detailed description. The accompanying drawings show specific embodiments that can be put into practice by way of illustration. These embodiments are also referred to as "examples" in this article. Such examples may include elements other than the elements shown or described. However, examples including the elements shown or described are also contemplated. In addition, examples (or one or more aspects of the examples) using any combination or permutation of those elements shown or described are also contemplated with respect to a specific example (or one or more aspects of a specific example) or with respect to other examples (or one or more aspects of other examples) shown or described herein.
[0030] Publications, patents, and patent documents cited in this document are incorporated herein by reference in their entirety, as if individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) supplements that of this document; for conflicting inconsistencies, the usage in this document controls.
[0031] In this document, as is common in patent literature, the terms "a" or "an" are used to include one or more than one, regardless of any other instances or uses of "at least one" or "one or more". In this document, unless otherwise indicated, the term "or" is used to refer to a non-exclusive or, such that "A or B" includes "A but not B", "B but not A", and "A and B". In the appended claims, the terms "including" and "in which" are used as the plain English equivalents of the corresponding terms "comprising" and "wherein". In addition, in the appended claims, the terms "including" and "comprising" are open-ended, that is, systems, devices, articles, or processes that include elements other than those listed after such terms in the claim are still considered to fall within the scope of the claim. In addition, in the appended claims, the terms "first", "second", and "third", etc. are used only as labels and are not intended to imply a numerical order of their objects.
[0032] The above description is intended to be illustrative rather than restrictive. For example, the above examples (or one or more aspects thereof) may be used in combination with other examples. For example, a person of ordinary skill in the art may use other embodiments after reading the above description. The abstract enables the reader to quickly determine the nature of the technical disclosure. The abstract is submitted, but it should be understood that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the above specific embodiments, various features may be grouped together to streamline the present disclosure. However, the claims may not set forth each feature disclosed herein, because the embodiments may be characterized by a subset of the features. In addition, the embodiments may include fewer features than those disclosed in a particular example. Therefore, the attached claims are incorporated into the specific embodiments herein, wherein the claims themselves exist as separate embodiments. The scope of the embodiments disclosed herein is to be determined with reference to the attached claims and the full scope of equivalents given by these claims.
[0033] Example
[0034] Example 1 is a process for: receiving a machine learning algorithm trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); detecting a deployment environment of a computer application on a deployed IaaS or a deployed PaaS; providing an automated computer application script used to deploy the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output including an automated script and a program for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; providing the automated script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; and migrating the computer application to the new IaaS or the new PaaS using the platform tool and the program.
[0035] Example 2 includes all the features of Example 1, and optionally includes the following process: wherein the deployment environment includes the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
[0036] Example 3 includes all the features of Examples 1 to 2, and optionally includes the following process: the process includes comparing the deployment environment of the deployed IaaS with the deployment environment of the new IaaS, or comparing the deployment environment of the deployed PaaS with the deployment environment of the new PaaS to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
[0037] Example 4 includes all of the features of Examples 1 to 3, and optionally includes the following process: wherein the platform tool includes one or more of a terraform tool, a packers tool, an ansible script, a kubespray tool, and a Helm chart.
[0038] Example 5 includes all the features of Example 1 to Example 4, and optionally includes the following process: wherein the terraform tool, the packers tool, and the ansible script are used to configure the new IaaS.
[0039] Example 6 includes all the features of Examples 1 to 5, and optionally includes the following process: wherein the kubespray tool and the ansible script are used to configure the new PaaS.
[0040] Example 7 includes all of the features of Example 1 to Example 6, and optionally includes the following process: the process includes functionality for establishing the new IaaS or the new PaaS using the Helm chart.
[0041] Example 8 includes all of the features of Examples 1 to 7, and optionally includes the following process: wherein the machine learning algorithm is trained using multiple software as a service (SaaS) applications.
[0042] Example 9 is a machine-readable medium, which includes instructions for performing a process when executed by a processor, the process including: receiving a machine learning algorithm trained using implementation scripts for multiple infrastructure as a service (IaaS) and platform as a service (PaaS); detecting the deployment environment of a computer application on a deployed IaaS or a deployed PaaS; providing an automated computer application script used to deploy the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output including an automated script and program for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; providing the automated script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; and using the platform tool and the program to migrate the computer application to the new IaaS or the new PaaS.
[0043] Example 10 includes all the features of Example 9, and optionally includes the following machine-readable medium: wherein the deployment environment includes the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
[0044] Example 11 includes all the features of Examples 9 to 10, and optionally includes a machine-readable medium, wherein the machine-readable medium includes the following instructions: the instructions compare the deployment environment of the deployed IaaS with the deployment environment of the new IaaS, or compare the deployment environment of the deployed PaaS with the deployment environment of the new PaaS to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
[0045] Example 12 includes all of the features of Example 9 to Example 11, and optionally includes a machine-readable medium, wherein the platform tool includes one or more of a terraform tool, a packers tool, an ansible script, a kubespray tool, and a Helm chart.
[0046] Example 13 includes all of the features of Example 9 to Example 12, and optionally includes a machine-readable medium, wherein the terraform tool, the packers tool, and the ansible script are used to configure the new IaaS.
[0047] Example 14 includes all of the features of Example 9 to Example 13, and optionally includes a machine-readable medium, wherein the kubespray tool and the ansible script are used to configure the new PaaS.
[0048] Example 15 includes all of the features of Example 9 to Example 14, and optionally includes a machine-readable medium comprising instructions for establishing functionality of the new IaaS or the new PaaS using the Helm chart.
[0049] Example 16 includes all of the features of Examples 9 to 15, and optionally includes a machine-readable medium, wherein the machine learning algorithm is trained using a plurality of software as a service (SaaS) applications.
[0050] Example 17 is a system comprising: a computer processor; and a memory coupled to the computer processor; wherein the computer processor and the memory are operable to: receive a machine learning algorithm trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); detect the deployment environment of a computer application on a deployed IaaS or a deployed PaaS; provide an automated computer application script used to deploy the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receive output from the trained machine learning algorithm, the output comprising an automated script and program for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; provide the automated script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; and use the platform tool and the program to migrate the computer application to the new IaaS or the new PaaS.
[0051] Example 18 includes all the features of Example 17, and optionally includes the following system, wherein the deployment environment includes the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
[0052] Example 19 includes all the features of Examples 17 to 18, and optionally includes the following system, wherein the computer processor and the memory are capable of operating to: compare the deployment environment of the deployed IaaS with the deployment environment of the new IaaS, or compare the deployment environment of the deployed PaaS with the deployment environment of the new PaaS to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
[0053] Example 20 includes all of the features of Example 17 to Example 19, and optionally includes the system, wherein the platform tool includes one or more of a terraform tool, a packers tool, an ansible script, a kubespray tool, and a Helm chart.
Claims
1. A computerized process comprising: Receive machine learning algorithms trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); Detecting the deployment environment of computer applications on deployed IaaS or deployed PaaS; providing an automated computer application script for deploying the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output comprising automated scripts and procedures for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; Providing the automation script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; as well as The computer application is migrated to the new IaaS or the new PaaS using the platform tool and the program.
2. The computerized process of claim 1, wherein: The deployment environment includes: the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
3. The computerized process of claim 1, comprising: The deployment environment of the deployed IaaS is compared with the deployment environment of the new IaaS, or the deployment environment of the deployed PaaS is compared with the deployment environment of the new PaaS to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
4. The computerized process of claim 1, wherein: The platform tools include one or more of a terraform tool, a packers tool, ansible scripts, a kubespray tool, and a Helm chart.
5. The computerized process of claim 4, wherein: The terraform tool, the packers tool, and the ansible script are used to configure the new IaaS.
6. The computerized process of claim 4, wherein: The kubespray tool and the ansible script are used to configure the new PaaS.
7. The computerized process of claim 4, comprising: The functionality of the new IaaS or the new PaaS is established using the Helm chart.
8. The computerized process of claim 1, wherein: The machine learning algorithm is trained using multiple Software as a Service (SaaS) applications.
9. A non-transitory machine-readable medium comprising instructions that, when executed by a processor, perform a process comprising: Receive machine learning algorithms trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); Detecting the deployment environment of computer applications on deployed IaaS or deployed PaaS; providing an automated computer application script for deploying the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output comprising automated scripts and procedures for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; Providing the automation script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; as well as The computer application is migrated to the new IaaS or the new PaaS using the platform tool and the program.
10. The non-transitory machine-readable medium of claim 9, wherein: The deployment environment includes: the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
11. The non-transitory machine-readable medium of claim 9, comprising: Instructions for comparing the deployment environment of the deployed IaaS with the deployment environment of the new IaaS, or comparing the deployment environment of the deployed PaaS with the deployment environment of the new PaaS, to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
12. The non-transitory machine-readable medium of claim 9, wherein: The platform tools include one or more of a terraform tool, a packers tool, ansible scripts, a kubespray tool, and a Helm chart.
13. The non-transitory machine-readable medium of claim 12, wherein: The terraform tool, the packers tool, and the ansible script are used to configure the new IaaS.
14. The non-transitory machine-readable medium of claim 12, wherein: The kubespray tool and the ansible script are used to configure the new PaaS.
15. The non-transitory machine-readable medium of claim 12, comprising instructions for establishing functionality of the new IaaS or the new PaaS using the Helm chart.
16. The non-transitory machine-readable medium of claim 9, wherein: The machine learning algorithm is trained using multiple Software as a Service (SaaS) applications.
17. A system comprising: Computer processors; as well as a memory coupled to the computer processor; Wherein, the computer processor and the memory are operable to: Receive machine learning algorithms trained using implementation scripts for multiple Infrastructure as a Service (IaaS) and Platform as a Service (PaaS); Detecting the deployment environment of computer applications on deployed IaaS or deployed PaaS; providing an automated computer application script for deploying the computer application on the deployed IaaS or the deployed PaaS to the trained machine learning algorithm; receiving output from the trained machine learning algorithm, the output comprising automated scripts and procedures for migrating the computer application on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS; Providing the automation script generated by the machine learning algorithm to a platform tool to create and configure the new IaaS or the new PaaS; and The computer application is migrated to the new IaaS or the new PaaS using the platform tool and the program.
18. The system of claim 17, wherein: The deployment environment includes: the structure of the deployed IaaS or the deployed PaaS, the characteristics of the deployed IaaS or the deployed PaaS, access parameters for the deployed IaaS or the deployed PaaS, the ownership identity of the deployed IaaS or the deployed PaaS, and the storage space available on the deployed IaaS or the deployed PaaS.
19. The system of claim 17, wherein: The computer processor and the memory are operable to: compare the deployment environment of the deployed IaaS with the deployment environment of the new IaaS, or compare the deployment environment of the deployed PaaS with the deployment environment of the new PaaS, to verify that the new IaaS or the new PaaS meets the workload requirements of the computer application.
20. The system of claim 17, wherein: The platform tools include one or more of a terraform tool, a packers tool, ansible scripts, a kubespray tool, and a Helm chart.