Let me just shed some light on the word "cloud". There is no cloud. All storage is located in some sort of infrastructure. The word cloud has existed since the beginning of networks but was used as a new buzz word to sell people that do not understand networks.
The main difference between a private cloud storage and a service like Amazon or Azure is the way you're charged. Amazon is going to charge you based on the number of instances (logical servers not necessarily physical) and storage you use. Often charging you by the kilobyte and number of logical servers you need. If you have your own private cloud you're going to be paying for bandwidth and the price of your physical server chassis for your instances. I can take a private server and make it cloud based simply by creating a NAT (Network Address Translation) from my private network to a public network. I could simply put my NVR out on the edge or in the cloud by giving it a routable IP address that can be connected to from anywhere.
The downside to this is I would need to ensure my bandwidth is adequate and that my NVR is secure sitting out on the public side instead of a private network. If I have an NVR out on the cloud and a camera pointing video to it I would need to ensure that the bandwidth at the remote site where the camera is adequate to upload to the cloud and then stream to the NVR. I will also need to ensure that I can stream live and recorded video to end users from either the camera or the NVR depending on the architecture of the VMS platform.
In these situations always compare the cost of the bandwidth and cost to secure your private NVR that is now facing the public against the costs to use a cloud service. Often times your up front costs are going to be less for a cloud service but you are going to be paying an ongoing subscription cost. With your private cloud solution you'll be paying for the price of the hardware and the bandwidth plus the cost to ensure it's secure. That does not even get into the reliability of your private cloud to the cloud service. There are many factors that go into this but please do not get caught up in the buzz words of cloud and private. I can easily make an NVR or camera cloud based simply by assigning it a different IP address with internet connectivity.
But to keep things simple: You can make anything sit on the cloud by doing this. Call the Internet Service Provider for the customer site and ask them to purchase a block of routable ip addresses. Now, you can either put your nvr, cameras, or both on that ip address range. Now, you'll be able to connect to all of them on the "cloud".