There are a few O-Reilly books on large scale networks and performance tuning. These are a good start. I worked a guy who did this for a living and there is no ‘one way’ to do this, however it always comes down to testing and measuring. N+M farms and Active/Active or Active/Standby type configurations are a given. Good analysis of where bottlenecks will occur and proving that is where to focus.
As for performance of number of users, you’ll need the near complete app to test, or something that is equivalent..