Sistemas escaláveis normalmente particionam o aplicativo e o banco de dados, então você está no caminho certo. A segurança deve ser boa, desde que você use a filtragem IP integrada do pgSQL.
No que diz respeito aos benefícios de executar tudo em um servidor, é definitivamente fácil fazer o backup, mas tudo o que é necessário é uma falha de hardware e todo o aplicativo fica inativo.
Se você está apenas começando, o dinheiro é provavelmente o maior fator para não fazer isso, mas eu sugiro dois servidores físicos executando duas VMs cada (um aplicativo, um banco de dados) e configuração para poder fazer failover entre si .