Em primeiro lugar, não adicione datastores NoSQL altamente escaláveis antes de precisar desse nível de desempenho . Durante o desenvolvimento inicial, e enquanto você está recebendo seus primeiros milhares de clientes, você provavelmente pode executar muito bem fora de um banco de dados do SQL musculoso. Fique com a solução comprovada até precisar de mais; especialmente se sua estrutura de desenvolvimento de aplicativo tiver algum tipo de camada Mapeador de relação de objeto que espera um banco de dados SQL.
How does one establish a private LAN in 'the cloud'?
Depende do provedor, não há solução padrão. Alguns provedores podem não ter isso (você menciona que os IPs "privados" do Slicehost são acessíveis por todos os clientes do Slicehost).
O Amazon EC2 possui um firewall embutido chamado um "grupo de segurança" . Somente servidores sob seu controle podem enviar pacotes IP uns aos outros por padrão; e você obtém um gerenciamento refinado dessas regras. O chat de suporte do Rackspace Cloud Server diz que sua conexão de rede privada é privada para cada conta do cliente (presumivelmente, isso significa que algum tipo de VLAN por cliente é usado). Outros bons provedores de PaaS devem ter algo semelhante; se não, você pode considerar mudar de provedor.
Com provedores que não oferecem sub-redes verdadeiramente privadas, você poderia :
- instale o firewall em cada host (IPTables do Linux, ou usando um front-end como o UFW no Ubuntu, Shorewall)
- e / ou usar VPNs host-to-host como o OpenVPN
Isso funcionaria. Mas isso aumenta a complexidade, e o IMHO nega grande parte do simples provisionamento de hosts adicionais (porque quando você está adicionando um novo servidor, você também precisa alterar as regras de firewall para permitir o novo IP "privado"). O provisionamento simples é realmente uma parte essencial do que se deseja de um provedor de PaaS.