Droplet execution engine for dynamic server application deployment
Abstract
A cloud computing environment provides the ability to deploy a web application that has been developed using one of a plurality of application frameworks and is configured to execute within one of a plurality of runtime environments. The cloud computing environment receives the web application in a package compatible with the runtime environment and dynamically binds available services by appropriately inserting service provisioning data into the package. The cloud computing environment then packages an instance of the runtime environment, a start script and the package into a web application deployment package, which is then transmitted to an application. The application container unpacks the web application deployment package, installs the runtime environment, loads the web application package into the runtime environment and starts the start script, thereby deploying the web application in the application container.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving, by a controller of a computing environment, i) an identification of an application framework used to develop an application; and ii) at least a portion of the application; receiving, by the controller, an indication of one or more services to bind to the application; binding the one or more services to the application, wherein the binding comprises modifying contents of the at least a portion of the application to insert service provisioning data to bind the one or more services according to a data organization structure imposed by the application framework used to develop the application; and deploying the application on one or more virtual machines in the computing environment.
2 . The method of claim 1 , further comprising, before receiving the indication of one or more services:
receiving, by the controller, a request to identify available services in the computing environment; and after receiving the request, sending, by the controller, an indication of one or more available services in the computing environment, wherein the one or more available services comprise the one or more services.
3 . The method of claim 2 , further comprising, after receiving the request and before sending the indication of one or more available services:
submitting a request for information about available services to a service provisioner of the computing environment; and obtaining, from the service provisioner, provisioning data characterizing a plurality of services of the computing environment.
4 . The method of claim 1 , further comprising, prior to deploying the application:
broadcasting, by the controller, a request for available virtual machines; and after the broadcasting, receiving, by the controller, an indication one or more available virtual machines including the one or more virtual machines.
5 . The method of claim 1 , wherein deploying the application on the one or more virtual machines comprises:
sending, to one or more deployment agents, a link to download an application deployment package for the application.
6 . The method of claim 5 , wherein the one or more deployment agents run on the one or more virtual machines, respectively, and wherein each of the one or more deployment agents is configured to:
download the application deployment package using the link; install a runtime environment for the application in the virtual machine in which the deployment agent runs; launch the runtime environment; and start the application in the runtime environment.
7 . The method of claim 1 , further comprising broadcasting network address information of each of the one or more virtual machines and port information for the application running thereon.
8 . A computing system comprising:
memory; and at least one processor configured to:
receive, by a controller of a computing environment, i) an identification of an application framework used to develop an application; and ii) at least a portion of the application;
receive, by the controller, an indication of one or more services to bind to the application;
bind the one or more services to the application, wherein the binding comprises modifying contents of the at least a portion of the application to insert service provisioning data to bind the one or more services according to a data organization structure imposed by the application framework used to develop the application; and
deploy the application on one or more virtual machines in the computing environment.
9 . The computing system of claim 8 , wherein the at least one processor is further configured to, before receiving the indication of one or more services:
receive, by the controller, a request to identify available services in the computing environment; and after receiving the request, send, by the controller, an indication of one or more available services in the computing environment, wherein the one or more available services comprise the one or more services.
10 . The computing system of claim 9 , wherein the at least one processor is further configured to, after receiving the request and before sending the indication of one or more available services:
submit a request for information about available services to a service provisioner of the computing environment; and obtain, from the service provisioner, provisioning data characterizing a plurality of services of the computing environment.
11 . The computing system of claim 8 , wherein the at least one processor is further configured to, prior to deploying the application:
broadcast, by the controller, a request for available virtual machines; and after the broadcasting, receive, by the controller, an indication one or more available virtual machines including the one or more virtual machines.
12 . The computing system of claim 8 , wherein deploying the application on the one or more virtual machines comprises:
sending, to one or more deployment agents, a link to download an application deployment package for the application.
13 . The computing system of claim 12 , wherein the one or more deployment agents run on the one or more virtual machines, respectively, and wherein each of the one or more deployment agents is configured to:
download the application deployment package using the link; install a runtime environment for the application in the virtual machine in which the deployment agent runs; launch the runtime environment; and start the application in the runtime environment.
14 . The computing system of claim 8 , wherein the at least one processor is further configured to broadcast network address information of each of the one or more virtual machines and port information for the application running thereon.
15 . A non-transitory computer-readable medium comprising instructions, which when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, by a controller of a computing environment, i) an identification of an application framework used to develop an application; and ii) at least a portion of the application; receiving, by the controller, an indication of one or more services to bind to the application; binding the one or more services to the application, wherein the binding comprises modifying contents of the at least a portion of the application to insert service provisioning data to bind the one or more services according to a data organization structure imposed by the application framework used to develop the application; and deploying the application on one or more virtual machines in the computing environment.
16 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise, before receiving the indication of one or more services:
receiving, by the controller, a request to identify available services in the computing environment; and after receiving the request, sending, by the controller, an indication of one or more available services in the computing environment, wherein the one or more available services comprise the one or more services.
17 . The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise, after receiving the request and before sending the indication of one or more available services:
submitting a request for information about available services to a service provisioner of the computing environment; and obtaining, from the service provisioner, provisioning data characterizing a plurality of services of the computing environment.
18 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise, prior to deploying the application:
broadcasting, by the controller, a request for available virtual machines; and after the broadcasting, receiving, by the controller, an indication one or more available virtual machines including the one or more virtual machines.
19 . The non-transitory computer-readable medium of claim 15 , wherein deploying the application on the one or more virtual machines comprises:
sending, to one or more deployment agents, a link to download an application deployment package for the application.
20 . The non-transitory computer-readable medium of claim 19 , wherein the one or more deployment agents run on the one or more virtual machines, respectively, and wherein each of the one or more deployment agents is configured to:
download the application deployment package using the link; install a runtime environment for the application in the virtual machine in which the deployment agent runs; launch the runtime environment; and start the application in the runtime environment.Join the waitlist — get patent alerts
Track US2023161580A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.