Hospedando vários aplicativos da web em Python ou Django - precisa de conselhos sobre a estrutura do servidor / architechture [closed]

3

Temos muitos aplicativos / sites da web. Alguns são bastante complexos, mas muitos deles são sites simples. Atualmente hospedamos algo como 10 sites em um único servidor dedicado usando nginx e uwsgi . Embora isso seja muito econômico e consuma menos tempo (já que precisamos manter 1 servidor por 10 sites), há alguns problemas que eu não gosto, incluindo:

  1. Atualizações - digamos que, se eu quiser atualizar o Postgres, preciso me preocupar com 10 sites e suas configurações. Isso faz com que qualquer atualização de dependência e atualizações de sistema operacional sejam muito arriscadas e complexas.
  2. Python 3 - Eu preciso atualizar um projeto para o Python 3. Embora o virtualenv possa permitir que eu faça upgrade sem afetar o restante do sistema, não tenho certeza sobre dependências que não são do python.
  3. Problemas do sistema operacional - às vezes, há problemas estranhos com o sistema operacional. Se disser que havia um site em execução, poderia usar o balanceador de carga para rotear o tráfego para separar o servidor e corrigir o problema aqui. Agora, com 10 sites, isso também consome tempo.

Então, estou pensando em como contornar esses problemas. Poucas opções estou considerando.

  1. AWS - execute aplicativos complexos em instâncias separadas, use o RDS para bancos de dados. Dessa forma, também poderíamos escalar para cima e para baixo (ou fora e dentro) aplicativos individualmente, sem precisar nos preocupar com outros aplicativos. Sites simples podem ser hospedados no EC2 ou em qualquer outro servidor, pois são simples e não exigem atualizações regulares.

  2. Use o Docker para hospedar esses aplicativos / sites no servidor dedicado atual para evitar problemas mencionados acima. Sou novo no docker, portanto, não tenho certeza se isso resolveria os problemas acima.

Qual é a sua experiência com o AWS e / ou o Docker que hospedam aplicativos da web em Python? Como você hospeda um grande número de aplicativos / sites (caso típico de agências e freelancers eu acredito)?

    
por chhantyal 27.07.2016 / 12:48

1 resposta

1

A AWS é a resposta certa neste caso!

Você pode iniciar uma pequena instância do EC2 para sites / aplicativos simples na mesma instância, se achar que eles serão atualizados ao mesmo tempo.

E uma instância maior para cada um dos sites / aplicativos mais complexos que exigem manutenção / atualizações separadas.

    
por 27.07.2016 / 15:44