1. A method for efficiently provisioning a storage area network (SAN) by a processor device, comprising: providing SAN information to an engine for optimization, wherein the SAN information includes at least one of SAN configuration information, SAN usage information, at least one cost profile, and at least one chargeback model; based on the SAN information, filtering those of an available plurality of storage resources not meeting at least one storage criterion; ranking the filtered storage resources on a cost basis; constructing a resource configuration graph based on the ranked storage resources; traversing the resource configuration graph to obtain a plurality of possible SAN configuration plans; and applying at least one power profile to the plurality of possible SAN configuration plans to rank the plurality of possible SAN configuration plans by energy consumption.