Patent ID: 8555286

Claim:
A computer-implemented system for establishing a software configurable computing environment comprising: a processor; and a computer-readable medium having stored thereon a plurality of instructions for causing the processor to: install and execute at least one application within the software configurable computing environment, wherein the software configurable computing environment includes a testing, a development, or a production environment; configure the software configurable computing environment based on commands from an authorized user, determined by an access control list, utilizing an interface, wherein the interface allows the authorized user to view and modify the software configurable computing environment prior to implementation of the at least one application, the configuring comprising reserving resources of the system to support the software configurable computing environment to yield reserved resources and generating software definitions specifying assets providing the reserved resources and other resources of the system; placing at least one constraint on the at least one application, wherein the at least one constraint includes permitting the application to exist within the software configurable computing environment only when resources available to the environment are below a threshold; determining at least one programmatic action for the at least one application that consumes computing resources; performing the at least one programmatic action for the at least one application by allocating available ones of the reserved resources; and defining a resource allocation engine configured to, based on the software definitions, dynamically allocate resources to the at least one application and selectively adjust the reserved resources using, an acquisition mechanism for adding additional resources to the reserved resources based on the software definitions when the reserved resources are insufficient and a relinquish mechanism for releasing one or more of the reserved resources that are no longer required to yield released resources, wherein the additional resources are selected from the other resources, and wherein the released resources are added to the other resources.