Depende
Se o tráfego para o seu aplicativo for baixo o suficiente, um único servidor funcionará. Quando você começa a ver problemas de desempenho que não pode resolver fixando seu código, otimizando suas consultas ou ajustando seu banco de dados, um bom passo é colocar o banco de dados em uma máquina separada.
Quando o carregamento é ainda maior, pode ser hora de ter vários servidores de aplicativos e um balanceador de carga (se a carga for maior no appserver) ou uma configuração de banco de dados duplicada ou replicada (se a carga for maior no banco de dados).
Portanto, comece com um servidor e monitore o desempenho. Defina o que você considera bom desempenho e certifique-se de que seu aplicativo atinja isso.