PostgreSQL across clouds and on-premises with Crossplane and Rook
blog.crossplane.io
blog.crossplane.io
This is very similar to how a StorageClass is used when a pod asks for a volume. The admin specifies if that's a Google PersistentDisk or Amazon EBS or Ceph RBD, etc. The pod doesn't have to care, it just gets its request for a volume fulfilled.
I'll have to look more into Stolon, that could be interesting here, thanks for that pointer.
(source: i'm a maintainer on both crossplane and rook)
It's also very useful to be portable across many cloud providers (in addition to on-premises), which is what crossplane is providing for your apps. In terms of databases, Amazon RDS, Google Cloud SQL, and Azure PostgreSQL are all abstracted away from the developer so that their application should work across those without changes as well.