Em ambientes menores, é rentável ter vários serviços em execução em um número menor de servidores.
Ao lidar com volumes maiores, é mais fácil, do ponto de vista de administração, ter serviços mais segregados, já que você é capaz de identificar, conter e resolver rapidamente problemas com o campo de jogo mais restrito.
Colocar esses aplicativos em um ambiente Container (think Docker) também lhe dará a capacidade de alterar o número de contêineres e, portanto, o número de conexões que você pode atender conforme necessário. Isso pode ser feito no google compute engine com regras e eu acredito que isso é o mesmo que o serviço Amazons EC2 Container, eu não usei o AWS, então eu não posso dizer com certeza.