Três VMs separadas para servidor da Web, banco de dados e processamento de dados. Boa ideia? [fechadas]

4

Estou escrevendo um software de pesquisa de marketing quantitativo e tenho uma situação de "cego líder cego" no trabalho.

Não estou acostumado a escrever aplicativos da Web ou configurar servidores; a maior parte do código que escrevo deve ser executada apenas por mim, na minha máquina. O chefe diz que chegou a hora de interfaces web agradáveis e um piloto em escala corporativa de um dos meus projetos de pesquisa, e cabe a mim especificar a arquitetura. Os caras do servidor da empresa só estão acostumados com as pilhas de LAMP de baunilha e estão ansiosos para ajudar, mas estão confiando em mim para a direção. (?!)

Veja o que estou tentando fazer:

  • Coloque alguns produtos e emails de clientes em uma base de dados criada especificamente.
  • Escolha um subconjunto de e-mails de clientes e alguns produtos do banco de dados.
  • Escolha alguns produtos e crie páginas da Web de pesquisa relacionadas.
  • Envie e-mails para os clientes solicitando que eles façam uma pesquisa.
  • Registre as respostas da pesquisa.
  • Analise as respostas.
  • Apresentar as respostas em uma interface da Web.

A análise e a interface são muito específicas do setor, e não há fornecedores terceirizados desse software de pesquisa de mercado, daí o DIY.

Veja como me propus a fazer isso:

  • Interface da web para inserção de produtos e e-mails hospedada na intranet da empresa. Banco de dados para aceitar apenas conexões internas. Provavelmente script python no servidor para realmente fazer a inserção de dados, porque muita verificação de erros e outro processamento relacionado ao produto tem que acontecer primeiro e eu não quero fazer isso em php.
  • Acesse endereços de e-mail no banco de dados e crie e-mails solicitando participação na pesquisa. Novamente, escreva isso em python. Interface com o Amazon SES para a entrega de correspondência em massa. Eu sou o único com acesso de execução a este script. Faça isso no meu PC.
  • Crie pesquisas (no meu PC). Descarregar o conteúdo da pesquisa manualmente em uma pilha alugada do Azure que chamarei de VM1 por meio de sFTP. Devo estar usando nginx para esta pilha? O servidor só tem experiência de configuração com o Apache. A VM tem que lidar com conexões de 10k por hora nos dias em que os e-mails saem (é claro, vou começar devagar e monitorar isso).
  • Sirva páginas HTML de pesquisa, usando php para fornecer o conteúdo certo para as pessoas certas, dependendo da variável de ID de pesquisa com hash que elas passam. Escreva as respostas da pesquisa para o banco de dados armazenado em outra VM do Azure (chamada "VM2") usando php. Acesse através de um túnel VPN entre as duas VMs.
  • Após alguns dias, leia as respostas da pesquisa por meio de outra VM executando o R. (túnel da VPN da VM2 para a VM3). Depois de carregar os dados em R, feche o túnel da VPN para isolar a VM3. Ainda na VM3, processe usando R e sirva isso via nginx, php e um addon de módulo de criação de gráficos javascript por meio de uma conexão SSL com outras pessoas interessadas na empresa.

Estou propondo algo realmente estúpido nessa lista? Está segregando o banco de dados em uma VM separada, adicionando alguma segurança ou estou apenas me enganando?

    
por Escher 19.12.2014 / 09:24

0 respostas