1 : A method to provide virtual private storage array service over a computer network for cloud servers in a public or a private cloud, comprising: receiving parameters for a virtual private storage array over the computer network, the parameters for the virtual private storage array including a virtual controller hardware model for each virtual controller in the virtual private storage array, drive characteristics for the virtual private storage array, and a drive quantity for the virtual private storage array; creating the virtual private storage array from processor/memory complexes and physical drives available from server computers; creating one or more volumes from the virtual private storage array; exposing the one or more volumes over the computer network to one or more cloud servers; and handling access requests to the exposed one or more volumes over the computer network from the one or more cloud servers: