1. A system to automatically provision resources based on application characteristics, comprising: a computer, including a computer readable medium and processor; a template engine, executing on the computer, wherein the template engine is configured to receive applications and associated metadata; a virtualized environment; and a plurality of templates, each defining a different resource available from the virtualized environment; wherein 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 for late binding to hardware resources.