When I first heard of Vitess I thought it was gonna solve a bunch of issues for our team.
But then as I started taking a closer look at it, I realized it was more likely to introduce a host of new, hidden issues, than really solve any of our problems, or make things simpler. For example, it doesn't magically give your cross-shard transactions. And there are situations where it can cause straight up deadlocks, if you're not careful about how you structure your queries.
So basically your devs can see the DB as "one gigantic instance"... but they also have to be (painfully) aware of what Vitess is doing under the covers to avoid poor interactions with it.
But then as I started taking a closer look at it, I realized it was more likely to introduce a host of new, hidden issues, than really solve any of our problems, or make things simpler. For example, it doesn't magically give your cross-shard transactions. And there are situations where it can cause straight up deadlocks, if you're not careful about how you structure your queries.
So basically your devs can see the DB as "one gigantic instance"... but they also have to be (painfully) aware of what Vitess is doing under the covers to avoid poor interactions with it.
Doesn't sound like a win to me.