1. A computer implemented method of provisioning storage for an application comprising: receiving a request to provision object-based storage for the application in a data storage system, the request identifying the application and being received from a user interface interacting with the data storage system at a specified one of a plurality of user levels, each of said plurality of user levels being associated with a different level of abstraction with respect to first processing performed in implementing the request; and performing said first processing to provision object-based storage for the request, said first processing being determined in accordance with the application and including a level of automation varying in accordance with the specified one user level at which the user interface interacts with the data storage system, said automation including selecting one or more default options in accordance with best practices of the application, wherein when the specified one user level is a first of the plurality of levels, the request is not allowed to customize metadata automatically included in objects subsequently created in a designated virtual storage pool, and when the specified one user level is a second of the plurality of levels, said second level indicating a level of skill higher than said first level, the request is allowed to customize metadata automatically included in objects subsequently created in the designated virtual storage pool, wherein the request includes at least one hint that is user-specified when interacting at the second level and said at least one hint is not specified when interacting at the first level, said at least one hint indicating any of an average size of an object in the designated virtual storage pool and an expected frequency of object use for objects of the designated virtual storage pool, wherein said first processing uses said at least one hint in selecting any of a file system and physical device used for provisioning storage for the request.