I can confirm that we have cinder and glance with 3 different ceph backends 

I hope you don't mind some questions about this part of setup, as I kind of never understood how to make such setup work.
As I have not found how user/service can tell which glance backend to use when spawning instance or magnum cluster, or something like that.

Also I was wondering do you have network reachability between ceph clusters or they are isolated in different network segments and can't be cross-reached? As network isolated clusters (different availability zones) was a use case I was looking into, while have the same image set available for all of them, and I kinda stuck with understanding how multi-storage glance is actually used with import to multiple stores, and how cinder will be selecting storage which is available, except checking randomly and waiting connection timeouts, until it finds the reachable backend.

I think I have missed something in my logic, so if you can share some insights on the topic - it would be really appreciated.