A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:
- accessing a client network including a client device, the client device being configured to execute an application, and the application being configured to perform a function that causes the client device to interact with a storage appliance of a storage network;
- collecting client configuration data associated with the client network, the client configuration data representing a first configuration associated with the client network, the first configuration indicating whether the client network can handle a load;
- accessing the storage network including the storage appliance, the storage appliance storing a load;
- collecting storage configuration data associated with the storage appliance, the storage configuration data representing a second configuration associated with the storage network, the second configuration indicating an operational limit, in context of the load, of the storage appliance;
- accessing a supporting network infrastructure that facilitates communication between the client network and the storage network;
- collecting network infrastructure data associated with the supporting network infrastructure, the network infrastructure data representing a third configuration associated with the supporting network infrastructure;
- detecting an interaction between the client device and the storage appliance, the interaction enabling the client device to access the load stored at the storage appliance, and the interaction being associated with one or more performance parameters;
- determining, based on the collected client configuration data, storage configuration data, or network infrastructure data, one or more network issues of at least one of the client network, the storage network and the infrastructure network;
- tuning at least one of the client network, the storage network and the infrastructure network, the tuning comprising modifying at least one of the first configuration, the second configuration, and the third configuration based on the determined one or more network issues;
- generating a load characteristic associated with the detected interaction, the load characteristic characterizing the client device accessing the load stored at the storage appliance, and the load characteristic being generated based on the collected client configuration data, storage configuration data, or network infrastructure data;
- and
- modifying the one or more performance parameters associated with the interaction, the modification being based at least in part on the load characteristic, wherein modifying the one or more performance parameters associated with the interaction includes automatically determining one or more workflows for modifying the one or more performance parameters, each workflow of the one or more workflows enhancing a performance metric of the application.