ManageIQ currently thinks about “Infrastructure” and “Cloud”. But, there should really be a distinction between “Public Cloud” and “Private Cloud”.
The major different between private and public cloud is that public cloud will not have an underlying infrastructure that ManageIQ can manage. Whereas private cloud may have.
For example, take the case of Amazon vs. Openstack. These are both treated as cloud providers by ManageIQ. However, eventually we will want to consume Openstack Infrastructure management as well (through TripleO). This will be the first time where ManageIQ will have to link objects in one provider (an instance in Openstack cloud) to objects in another provider (a host in Openstack infrastructure).
Also, take the example of Microsoft’s Azure. They offer both a private and public cloud. When ManageIQ has support for Azure, users will have to specify which type of Azure (public or private) they’re setting up when adding Azure as a provider. And, presumably similar to Openstack, Azure private cloud will require both a cloud and infrastructure backing in ManageIQ with cross linking of objects.