Is this even the hard part anymore? In 2006 maybe, but nowadays it seems like scaling is pretty solved. I always feel like scaling is more just expensive than hard.
I mean, you can make things easy for you and just choose GCP and use Spanner instead of trying to build your own from scratch, but that doesn't make the problem itself easy.