Systems and methods for automatic hardware provisioning based on application characteristics
First Claim
1. A system for automatically provisioning resources based on application characteristics, comprising:
- a computer, including a microprocessor;
a virtualized environment with one or more virtual machines therein, wherein the one or more virtual machines provide a plurality of software resources that include at least one or more application servers, one or more databases, and one or more message services;
a template engine, executing on the computer, wherein the template engine includesa plurality of software templates registered therewith, wherein each software template defines a single one of the plurality of software resources provided in the virtualized environment, anda plurality of preconfigured settings, wherein each preconfigured setting specifies a set of software resources required for a particular type of application;
wherein when the template engine receives an application for deployment, the template engine operates todetermine a type of the application for deployment,identify, using a preconfigured setting associated with the determined application type, a default set of software resources for the application for deployment,identify one or more additional software resources for the application for deployment based on a preconfigured setting for a different application that shares a set of characteristics with the application for deployment,identify a plurality of software templates, based on the default set of software resources and the one or more additional software resources identified for the application for deployment,provision, in the virtualized environment, the identified software resources for the application for deployment using the plurality of identified templates for late binding to hardware resources by obtaining address information of the software resources, anddeploys the application to the provisioned software resources using the address information,wherein the provisioned software resources are dynamically adjusted, including allocating additional software resources to the application or reducing the provisioned software resources based on performance of the application after the application is deployed.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for automatically provisioning resources based on application characteristics. In accordance with an embodiment, a system can include a computer, including a computer readable medium and processor, and a template engine, executing on the computer. The template engine is configured to receive applications and associated metadata. The system can also include a virtualized environment, and a plurality of templates, each defining a different resource available within the virtualized environment. When the template engine receives an application and associated metadata, the template engine determines resource requirements for the application based on the associated metadata, compares the resource requirements with the plurality of templates, identifies appropriate templates for the resource requirements, and provisions resources in the virtualized environment using the appropriate templates. Hardware resources can then be allocated dynamically according to the needs of the virtualized environment.
23 Citations
20 Claims
-
1. A system for automatically provisioning resources based on application characteristics, comprising:
-
a computer, including a microprocessor; a virtualized environment with one or more virtual machines therein, wherein the one or more virtual machines provide a plurality of software resources that include at least one or more application servers, one or more databases, and one or more message services; a template engine, executing on the computer, wherein the template engine includes a plurality of software templates registered therewith, wherein each software template defines a single one of the plurality of software resources provided in the virtualized environment, and a plurality of preconfigured settings, wherein each preconfigured setting specifies a set of software resources required for a particular type of application; wherein when the template engine receives an application for deployment, the template engine operates to determine a type of the application for deployment, identify, using a preconfigured setting associated with the determined application type, a default set of software resources for the application for deployment, identify one or more additional software resources for the application for deployment based on a preconfigured setting for a different application that shares a set of characteristics with the application for deployment, identify a plurality of software templates, based on the default set of software resources and the one or more additional software resources identified for the application for deployment, provision, in the virtualized environment, the identified software resources for the application for deployment using the plurality of identified templates for late binding to hardware resources by obtaining address information of the software resources, and deploys the application to the provisioned software resources using the address information, wherein the provisioned software resources are dynamically adjusted, including allocating additional software resources to the application or reducing the provisioned software resources based on performance of the application after the application is deployed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. The system of 7, wherein the plurality of preconfigured settings are stored in the template engine.
-
9. A method for automatically provisioning resources based on application characteristics, comprising:
-
providing a virtualized environment with one or more virtual machines therein, wherein the one or more virtual machines provide a plurality of software resources that include at least one or more application servers, one or more databases, and one or more message services; providing a template engine that includes a plurality of software templates registered therewith, wherein each software template defines a single one of the plurality of software resources provided in the virtualized environment, and a plurality of preconfigured settings, wherein each preconfigured setting specifies one or more software resources required for a particular type of application; receiving an application for deployment at the template engine, wherein the template engine operates to determine a type of the application for deployment, identify, using a preconfigured setting associated with the determined application type, a default set of software resources for the application for deployment, identify one or more additional software resources for the application for deployment based on a preconfigured setting for a different application that shares a set of characteristics with the application for deployment; identifying a plurality of software templates for the application, based on the default set of software resources and the one or more additional software resources; provisioning, in the virtualized environment, the software resources using the plurality of identified templates for late binding to hardware resources by obtaining address information of the software resources; and deploying the application to the provisioned software resources using the address information; wherein the provisioned software sources are dynamically adjusted, including allocating additional software resources to the application or reducing the provisioned software resources based on performance of the application after the application is deployed. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium, including instructions stored thereon which, when executed by a computer, cause the computer to perform the steps comprising:
-
configuring a virtualized environment with one or more virtual machines therein, wherein the one or more virtual machines provide a plurality of software resources that include at least one or more application servers, one or more databases, and one or more message services; providing a template engine that includes a plurality of software templates registered therewith, wherein each software template defines a single one of the plurality of software resources provided in the virtualized environment, and a plurality of preconfigured settings, wherein each preconfigured setting specifies one or more software resources required for a particular type of application; receiving an application for deployment at the template engine, wherein the template engine operates to determine a type of the application for deployment, identify, using a preconfigured setting associated with the determined application type, a default set of software resources for the application for deployment, identify one or more additional software resources for the application for deployment based on a preconfigured setting for a different application that shares a set of characteristics with the application for deployment; identifying a plurality of software templates for the application, based on the default set of software resources and the one or more additional software; provisioning, in the virtualized environment, the software resources using the plurality of identified templates for late binding to hardware resources by obtaining address information of the software resources; and deploying the application to the provisioned software resources using the address information; wherein the provisioned software sources are dynamically adjusted, including allocating additional software resources to the application or reducing the provisioned software resources based on performance of the application after the application is deployed. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification