Automatic detection of deployment environment and configuration of private clouds
Machine learning algorithms are trained using implementation scripts. These machine learning algorithms are trained using different infrastructures as a service (IaaS) and platforms as a service (PaaS). The deployment environment of computer applications on a deployed IaaS or a deployed PaaS is detected. Automated computer application scripts that were used to deploy the computer applications on the deployed IaaS or the deployed PaaS are provided to the trained machine learning algorithms. The output from the trained machine learning algorithms includes automation scripts and procedures to port the computer applications on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS. The automation scripts generated by the machine learning algorithms are provided to platform tools to create and configure the new IaaS or the new PaaS. The computer applications are ported to the new IaaS or the new PaaS using the platform tools and the procedures.
1 . A computerized process comprising:
receiving machine learning algorithms trained using implementation scripts for a plurality of infrastructures as a service (IaaS) and platforms as a service (PaaS);
detecting a deployment environment of computer applications on a deployed IaaS or a deployed PaaS;
providing automated computer application scripts that were used to deploy the computer applications on the deployed IaaS or the deployed PaaS to the trained machine learning algorithms;
receiving output from the trained machine learning algorithms, the output comprising automation scripts and procedures to port the computer applications on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS;
providing the automation scripts generated by the machine learning algorithms to platform tools to create and configure the new IaaS or the new PaaS; and
porting the computer applications to the new IaaS or the new PaaS using the platform tools and the procedures;
wherein the machine learning algorithms and the platform tools generate a set of curated rules, the curated rules for detecting capabilities of the deployed IaaS or the deployed PaaS, for auto-generating the automation scripts, and for the porting of the computer applications to the new IaaS or the new PaaS; and
comparing the deployed IaaS to the new IaaS or comparing the deployed PaaS to the new PaaS by executing an existing solution on the new IaaS or the new PaaS, thereby generating a difference between the deployed IaaS and the new IaaS or the deployed PaaS or the new PaaS;
using the platform tools to generate the automation scripts to produce an outcome; and
comparing the outcome against new IaaS or the new PaaS, thereby verifying that the new IaaS or the new PaaS satisfies intended needs and purposes of the computer applications.
2 . The computerized process of claim 1 , wherein the deployment environment comprises a structure of the deployed IaaS or the deployed PaaS, features 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.
3 . The computerized process of claim 1 , comprising comparing the deployment environment of the deployed IaaS with a deployment environment of the new IaaS or the deployment environment of the deployed PaaS with a deployment environment of the new PaaS to verify that the new IaaS or the new PaaS satisfies workload requirements of the computer applications.
4 . The computerized process of claim 1 , wherein the platform tools comprise 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 scripts are used to configure the new IaaS.
6 . The computerized process of claim 4 , wherein the kubespray tool and the ansible scripts are used to configure the new PaaS.
7 . The computerized process of claim 4 , comprising using the Helm chart to establish a functionality of the new IaaS or the new PaaS.
8 . The computerized process of claim 1 , wherein the machine learning algorithms are trained using a plurality of Software as a Service (SaaS) applications.
9 . A non-transitory machine-readable medium comprising instructions that when executed by a processor execute a process comprising:
receiving machine learning algorithms trained using implementation scripts for a plurality of infrastructures as a service (IaaS) and platforms as a service (PaaS);
detecting a deployment environment of computer applications on a deployed IaaS or a deployed PaaS;
providing automated computer application scripts that were used to deploy the computer applications on the deployed IaaS or the deployed PaaS to the trained machine learning algorithms;
receiving output from the trained machine learning algorithms, the output comprising automation scripts and procedures to port the computer applications on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS;
providing the automation scripts generated by the machine learning algorithms to platform tools to create and configure the new IaaS or the new PaaS; and
porting the computer applications to the new IaaS or the new PaaS using the platform tools and the procedure:
wherein the machine learning algorithms and the platform tools generate a set of curated rules, the curated rules for detecting capabilities of the deployed IaaS or the deployed PaaS, for auto-generating the automation scripts, and for the porting of the computer applications to the new IaaS or the new PaaS; and
comparing the deployed IaaS to the new IaaS or comparing the deployed PaaS to the new PaaS by executing an existing solution on the new IaaS or the new PaaS, thereby generating a difference between the deployed IaaS and the new IaaS or the deployed PaaS or the new PaaS;
using the platform tools to generate the automation scripts to produce an outcome; and comparing the outcome against new IaaS or the new PaaS, thereby verifying that the new IaaS or the new PaaS satisfies intended needs and purposes of the computer applications.
10 . The non-transitory machine-readable medium of claim 9 , wherein the deployment environment comprises a structure of the deployed IaaS or the deployed PaaS, features 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.
11 . The non-transitory machine-readable medium of claim 9 , comprising instructions for comparing the deployment environment of the deployed IaaS with a deployment environment of the new IaaS or the deployment environment of the deployed PaaS with a deployment environment of the new PaaS to verify that the new IaaS or the new PaaS satisfies workload requirements of the computer applications.
12 . The non-transitory machine-readable medium of claim 9 , wherein the platform tools comprise 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 scripts are used to configure the new IaaS.
14 . The non-transitory machine-readable medium of claim 12 , wherein the kubespray tool and the ansible scripts are used to configure the new PaaS.
15 . The non-transitory machine-readable medium of claim 12 , comprising instructions for using the Helm chart to establish a functionality of the new IaaS or the new PaaS.
16 . The non-transitory machine-readable medium of claim 9 , wherein the machine learning algorithms are trained using a plurality of Software as a Service (SaaS) applications.
17 . A system comprising:
a computer processor; and
a memory coupled to the computer processor;
wherein the computer processor and memory are operable for:
receiving machine learning algorithms trained using implementation scripts for a plurality of infrastructures as a service (IaaS) and platforms as a service (PaaS);
detecting a deployment environment of computer applications on a deployed IaaS or a deployed PaaS;
providing automated computer application scripts that were used to deploy the computer applications on the deployed IaaS or the deployed PaaS to the trained machine learning algorithms;
receiving output from the trained machine learning algorithms, the output comprising automation scripts and procedures to port the computer applications on the deployed IaaS or the deployed PaaS to a new IaaS or a new PaaS;
providing the automation scripts generated by the machine learning algorithms to platform tools to create and configure the new IaaS or the new PaaS; and
porting the computer applications to the new IaaS or the new PaaS using the platform tools and the procedures;
wherein the machine learning algorithms and the platform tools generate a set of curated rules, the curated rules for detecting capabilities of the deployed IaaS or the deployed PaaS, for auto-generating the automation scripts, and for the porting of the computer applications to the new IaaS or the new PaaS; and
comparing the deployed IaaS to the new IaaS or comparing the deployed PaaS to the new PaaS by executing an existing solution on the new IaaS or the new PaaS, thereby generating a difference between the deployed IaaS and the new IaaS or the deployed PaaS or the new PaaS;
using the platform tools to generate the automation scripts to produce an outcome; and
comparing the outcome against new IaaS or the new PaaS, thereby verifying that the new IaaS or the new PaaS satisfies intended needs and purposes of the computer applications.
18 . The system of claim 17 , wherein the deployment environment comprises a structure of the deployed IaaS or the deployed PaaS, features 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.
19 . The system of claim 17 , wherein the computer processor and memory are operable for comparing the deployment environment of the deployed IaaS with a deployment environment of the new IaaS or the deployment environment of the deployed PaaS with a deployment environment of the new PaaS to verify that the new IaaS or the new PaaS satisfies workload requirements of the computer applications.
20 . The system of claim 17 , wherein the platform tools comprise one or more of a terraform tool, a packers tool, ansible scripts, a kubespray tool and a Helm chart.