1. A method for providing data protection, comprising: running a storage application on a software platform provided on a tenant computer system comprising a storage device storing a raw data set; operating the storage application to generate a plurality of versions of the raw data set, wherein the raw data set has a size and wherein a size of the plurality of versions of the raw data set is less than the size of the raw data set multiplied by the number of versions; and replicating the plurality of versions of the raw data set over a network to a data protection application operated on a host computer system, wherein the tenant computer system and the host computer system are owned, operated, or both, by different entities and wherein the data protection application is configured to operate in conjunction with the storage application and wherein the data protection application is paired to the storage application and is configured to port the storage application to another hardware system.