1. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, cause the computing device to carry out steps for assigning applications to datastores in a virtual machine environment, the steps comprising: collecting data related to input-output operations for multiple different applications during execution of the multiple different applications; analyzing the input-output operations data for the multiple different applications to identify data access patterns for the multiple different applications by: identifying applications whose input-output seek distances correspond to fixed incremental changes in seek distance as sequential I/O apps; and identifying applications whose input-output seek distances correspond to random incremental changes in seek distance as random I/O apps; and assigning applications identified as sequential I/O apps to a datastore designated for sequential I/O apps; assigning applications identified as random I/O apps to a datastore designated for random I/O apps; and migrating data associated with the multiple different applications to datastores in a manner that segregates the data by data access pattern; wherein, the data associated with the multiple different applications is migrated according to assignment rules, wherein the assignment rules define how applications should be assigned to the datastores in order to maintain the data segregation; and wherein the collecting, analyzing, and assigning is repeated at a predefined interval in a closed-loop management system.