A virtual data center system for managing a network of servers, each server (106; 106a-b; 202; 608a-b) in the network of servers requiring a server image, the server image enabling booting of the server (106; 106a-b; 202; 608a-b), the server image being stored over a storage system (114; 116), the virtual data center system comprising: a. a layer 2 interconnect fabric, the layer 2 interconnect fabric comprising a plurality of switches (124a-d; 304; 404), each of the plurality of switches (124a-d; 304; 404) comprising a plurality of ports (128a-1280; 310a; 312a-b), the plurality of ports (128a-1280; 310a; 312a-b) providing connectivity to the network of servers; b. a controller, the controller dynamically configuring and assigning a server image, the server image being assigned to a server (106; 106a-b; 202; 608a-b), the server making a request for the server image, wherein the controller further includes a controller database, the controller database providing storage facilities to store an abstracted server image, wherein the abstracted server image comprises hardware attributes associated with each server image, network related attributes associated with each server image and attributes associated with an access of storage systems; wherein the hardware attributes, the network related attributes, and the attributes associated with an access of storage systems are stored separately in the database; c. an agent (206a-b; 308a; 408; 408a), the agent (206a-b; 308a; 408; 408a) residing on each server (106; 106a-b; 202; 608a-b) of the network of servers, the agent (206a-b; 308a; 408; 408a) further enabling communication between the controller and the virtual data center system; and d. a system management infrastructure, the system management infrastructure comprising remote management interfaces, the remote management interfaces providing a communication channel between each server (106; 106a-b; 202; 608a-b) of the network of servers and the controller. a. a layer 2 interconnect fabric, the layer 2 interconnect fabric comprising a plurality of switches (124a-d; 304; 404), each of the plurality of switches (124a-d; 304; 404) comprising a plurality of ports (128a-1280; 310a; 312a-b), the plurality of ports (128a-1280; 310a; 312a-b) providing connectivity to the network of servers; b. a controller, the controller dynamically configuring and assigning a server image, the server image being assigned to a server (106; 106a-b; 202; 608a-b), the server making a request for the server image, wherein the controller further includes a controller database, the controller database providing storage facilities to store an abstracted server image, wherein the abstracted server image comprises hardware attributes associated with each server image, network related attributes associated with each server image and attributes associated with an access of storage systems; wherein the hardware attributes, the network related attributes, and the attributes associated with an access of storage systems are stored separately in the database; c. an agent (206a-b; 308a; 408; 408a), the agent (206a-b; 308a; 408; 408a) residing on each server (106; 106a-b; 202; 608a-b) of the network of servers, the agent (206a-b; 308a; 408; 408a) further enabling communication between the controller and the virtual data center system; and d. a system management infrastructure, the system management infrastructure comprising remote management interfaces, the remote management interfaces providing a communication channel between each server (106; 106a-b; 202; 608a-b) of the network of servers and the controller.