What kind of database(s) are you thinking?
The PostgreSQL project we’re working on is roughly that kind of layout. The most difficult part of putting databases on Fly is bootstrapping clusters that aren’t really designed to work in container environments.
Proxy layers and backend apps are simple! I’d probably model each of them as their own Fly app and use private networking + DNS discovery to connect to them.
The load balancer might be unnecessary, but it’ll work just fine if you have special load balancing logic to implement.
If you can tell us more about the specific apps / software you’re working with I can point you to some examples and help get it going.