A private cloud would be a single physical server on-premises, or uplinked to the clients office from a datacenter via MPLS circuit
The private/public distinction seems totally artificial then.
Does it really matter whether their internet service is residing in a VRF, with IP space routed to a VLAN on the virtualization cluster, or whether the end user has a site-to-site VPN solution, as if a VPN suddenly makes it public?
Is the distinction private/public not totally artificial?
Of course there should be a scalable cluster and a large storage array, as shared storage is required for high availability. If you don't have a cluster, then you have a single physical server... not a cloud, where things are distributed and protected.
I see no reason OpenStack, CloudStack, OpenNebula would be required.. right... those are essentially APIs to optionally enable developers to do a lot of fancy things. just create a user in vCenter for the admins in each organization, with read access and remote console/power/reboot to only their vApp, and a couple orchestrator workflows for setup/teardown, which is more than most need -- when most people are reliant on the technology provider support department to do all their planning and provisioning anyhow.