Patent ID: 8887143

Claim:
A method comprising: displaying a list of software components to a user, wherein an existing computing environment comprises the software components; receiving input signals from the user indicating a plurality of software components selected from the list of software components; determining one or more hardware constraints in response to the receiving the input signals; generating an environment document, wherein the environment document comprises first information identifying each software component of the plurality of software components, the environment document comprises instructions for installing the plurality of software components onto a new computing environment, the environment document comprises information identifying the one or more hardware constraints, wherein the one or more hardware constraints comprise at least one of a memory device capacity, a memory device type, or a processor type, and the displaying, receiving, and generating are performed by a computing device, wherein the existing computing environment is accessible to the computing device; and installing the new computing environment based on the environment document, wherein the installing comprises identifying a plurality of hardware devices that satisfy the one or more hardware constraints, wherein the identifying comprises accessing a database of available hardware, determining whether a first hardware device of the plurality of hardware devices is compatible with the new computing environment, and selecting the first hardware device in response to the determining.