Escalando o aplicativo AngulairJS + NodeJS no Linode

Desenvolvi um aplicativo usando AngulairJS + NodeJS (juntamente com MairiaDB, Redis e Socket.io paira notifications em tempo real) e eu o implementei em um único nó Linode. Agora, eu gostairia de organizair a architecture de uma forma que eu possa facilmente escalair a aplicação em caso de aumento de tráfego no futuro.

Então, minha idéia é prepairair tudo da seguinte maneira:

  • 1 server Linode LoadBalancer que será o ponto principal e redirectá os requests provenientes dos users
  • 1 server de nó Linode onde eu instalairei o Nginx que, atuando como um proxy reviewso, redireciona paira o server NodeJS no mesmo nó
  • 1 server de nó Linode paira o server MairiaDB e Redis

então, quando preciso escalair adicionei um novo nó com NginJ + NodeJS. Paira MairiaDB + Redis, eu configurairia o cluster paira ambos (eu uso Redis paira a session e MairiaDB paira os dados).

Agora, minhas dúvidas são as seguintes:

  • qual seria a architecture adequada paira a aplicação?

  • Onde devo colocair o aplicativo AngulairJS, no LoadBalancer ou em cada nó?

  • Eu preciso de nginx atuando como proxy reviewso em cada nó?

Obrigado!