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 each 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, wherein the storage criterion includes at least one of cost, performance, and space of the SAN; ranking the filtered storage resources on a cost basis; constructing a resource configuration graph based on the ranked storage resources, wherein the resource configuration graph includes a plurality of hierarchical levels with each of the plurality of hierarchical levels representing at least characteristics and relationships of the ranked storage resources; traversing the resource configuration graph to obtain a plurality of possible SAN configuration plans, wherein the traversing is based upon the filtering, ranking, and constructing; 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, wherein one power profile to the plurality of possible SAN configuration plans includes applying a workload-based power model, a spreadsheet-based power model, an analytical model, and a heuristic model.