essa é uma questão realmente aberta. ; -)
Depende de muitas coisas. Aqui está a minha opinião sobre como abordar problemas como este:
1) Arquitetura - Muitos dos problemas de dimensionamento que você vai encontrar serão definidos pela maneira como você projeta o aplicativo agora. Conhecer os pontos strongs e fracos da linguagem em que você está escrevendo, a estrutura que você está usando e o SO / Servidores subjacente no qual você está hospedando é essencial.
2) Por quanto tempo uma solicitação média demora para ser concluída sem carga? Qual é o seu SLA quanto tempo os pedidos devem demorar?
3) Como o aplicativo manipula o carregamento? Em que ponto (solicitação por segundo por servidor) você vê degradação?
4) Você segmentou seu aplicativo em camadas que podem ser escaladas separadamente umas das outras? (ou seja, você tem uma camada de banco de dados, uma camada de servidor de aplicativos e uma camada de armazenamento?)
5) Qual é o seu orçamento?
Com base no que você postou, você está vendo cerca de 6 solicitações por segundo. Eu começaria com uma única caixa de aplicativo, uma única caixa de banco de dados e uma única caixa de armazenamento se você precisar de armazenamento . Jogue carga nele, veja o que quebra. Aumente lentamente o número de usuários e você verá partes do código que deseja otimizar ou poderá adicionar mais caixas onde houver problemas.
Como esta é sua primeira incursão, eu quase sugiro que você vá com um serviço de hospedagem totalmente gerenciado - eles poderão ajudar com o dimensionamento de back-end.
Boa sorte!