A method for automatically (i.e., programmatically) determining a storage configuration
for a storage system for a given application. The method may receive information
on existing storage capabilities in the storage system and information regarding
the software application that will use the storage system. The method may then
automatically determine a storage configuration for the storage system based on
the existing storage capabilities in the storage system, the information regarding
the application, and application specific rules about storage configuration principles
of the application. The rule may comprise priority information that specifies a
priority in application of the rules, e.g., a structure or list of storage types
in order of priority for different application data types.