Estou muito, muito confuso com a lista que você recebeu.
Primeiro, ele diz para você usar o sqlite3 em um único servidor. Então ele diz para mover este banco de dados sqlite para um host diferente? Em seguida, ele diz para você configurar o balanceamento de carga (em um único servidor da Web?) E diz para você usar uma solução NoSQL quando não houver motivo algum para que um rdms seja um gargalo do que você descreveu aqui.
De qualquer forma, a configuração geral de um projeto que você deseja hospedar amplamente como este (e de maneira fácil) é colocar o banco de dados em um host separado (seja mysql, seja postgresql, o que você gosta) e implantar código para um número de servidores de aplicativos.
Você usaria ferramentas de implantação ou um nfs para garantir que o código em todos os servidores de aplicativos seja o mesmo.
Na frente, você geralmente posiciona um balanceador de carga e / ou um proxy HTTP reverso para descarregar o tráfego que normalmente atingiria seus servidores de back-end.
Uma boa solução seria ir com a Amazon e usar o Elastic Loadbalancer, fazendo com que seu esquema se pareça com isso:
- 1 instância de um balanceador de carga.
- 2 (ou mais) instâncias de um aplicativo servidores.
- 1 (ou mais) instâncias do seu servidor de banco de dados favorito.
Você pode estender / implodir isso executando o servidor de banco de dados em um dos seus servidores de aplicativos. Você pode estendê-lo adicionando failovers para seus servidores de banco de dados, provisionamento automático, ferramentas de provisionamento, etc.