The advantages of positioning function next to the disk drive is to reduce the number of I/Os that have to be made and to increase storage utilization. Knowledge of the disk drive ensures that this can be done.
The advantages of positioning function next to the application is to avoid I/O altogether and to simplify and avoid work on the disk drive by smart placement and guaranteed data consistency.
Clear items for the array are local data protection and recovery. Virtualization and striping that improve availability and performance are other clear candidates. But thin provisioning – could that be better managed by the files system or database? Wouldn’t remote replication be better handled near the database that the drive? Does it make more sense to create a space-efficient copy with data consistency closer to the database? Doesn’t an application (such as PowerPoint) know more about compression than the storage device? Can’t applications avoid writing zeros? Caching – should that be at the array level or at the database level? Should log files be written to flash devices at the server level or at the array level?
The constraint to implementing this type of approach to storage management is the availability of open APIs that allow function to be migrated to the correct point in the overall stack. Most array manufacturers are not lining up to provides these. And other contenders such a Microsoft and Oracle provide functionality specific to just their systems.
As function increasingly migrates to applications, opportunities exist to leverage emerging API models (e.g. Xiotech Cortex), which could facilitate migration of storage functionality to the optimum position in the overall stack. This will be especially pronounced within the Cloud service provider model, where they are developing their own file systems and integrated stacks.
Action Item: New models of integration are emerging that use open APIs and increasingly rely on applications to provide infrastructure function. These should be supported by SNIA and large organization because they reduce lock-in from both application vendors and storage companies.