A computer system comprising a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions comprising:
- program instructions to receive a specification of a target network environment including a plurality of target devices, the specification including an identity of each of the plurality of target devices and at least a deduplication feature requirement of the target network environment;
- program instructions to compute, using the processor and the memory, a performance parameter corresponding to the deduplication feature requirement based on the specification of the target network environment;
- program instructions to determine possible combinations of the plurality of target devices and enabled features in the plurality of target devices to meet the specification, the enabled features including one or more of a compression feature, a deduplication feature, and an encryption feature;
- program instructions to compare each possible combination to a knowledge base to determine, for each possible combination, a performance reduction for each of the enabled features based upon the performance parameters;
- and
- program instructions to generate an instruction to configure a target device according to a desired combination of the enabled features from the possible combinations for the target device based upon the comparison, wherein the desired combination of enabled features for the target device includes a combination having a performance reduction that does not exceed a threshold value for data reduction in an enabled feature in the target device.