1. An apparatus for performing storage applications on physical storage using a split-path architecture, comprising: a first data path (DP) for virtualizing the storage and performing data functions, the first DP including one or more DP processors (DPPs) and memory configured for storing firmware and one or more virtualization tables; and a first control path (CP) communicatively coupled to the DP, the first CP including one or more CP processors (CPPs) and software configured for performing control functions in conjunction with the first DP, wherein an application programming interface (API) is provided by the first CP, the API being operable to enable a remote partner to perform virtualization services, the remote partner being different than the API provider, wherein the first CP programs a mapping of virtual storage to the physical storage, the first CP provides the mapping to the first DP, the first DP being operable to read data from and write data to the physical storage based on the mapping from the first CP, and the first DP and the first CP are different paths.