A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of determining an optimal storage configuration of storing backup data, the operations comprising:
- receiving a request from a client device for determining an optimal storage configuration for storing backup data of a client, wherein the backup data is currently stored in a first storage class of a first storage provider that provides a plurality of storage classes of storage;
- determining a cloud utilization pattern of the backup data based on prior access activities;
- determining a current suitability score for the first storage class based on the cloud utilization pattern;
- for each of the plurality of the storage classes of the first storage provider, determining a potential suitability score for a corresponding storage class if the backup data were stored in the corresponding storage class;
- and
- transmitting to the client device a recommendation of a second storage class of the first storage provider having a corresponding potential suitability score higher than the first current suitability score.