A melhor abordagem para implantar uma solução python na AWS

1

Eu tenho uma solução Python implantada na AWS, minha abordagem de implantação atual parece muito arcaica. Eu sigo estes passos sempre que atualizo o serviço:

  1. tar os arquivos python que foram alterados
  2. scp o tar no diretório / tmp na instância
  3. execute o sudo python setup.py no setup.py dos novos arquivos
  4. reinicie o supervisord

Múltiplas versões do servidor nunca existem, se houver uma mudança não compatível com versões anteriores, há um mecanismo de atualização forçada nos clientes.

Como eu poderia melhorar esse processo usando as tecnologias mais recentes?

    
por S-K' 31.07.2015 / 19:26

2 respostas

3

Tente usar uma ferramenta de orquestração como Ansible . Comece com a versão gratuita de código aberto. Você também pode tentar SaltStack , Chef ou Puppet, mas o Ansible é, na minha opinião, o mais simples deles e não requer um componente de servidor. E como é baseado em python, deveria estar no seu beco.

E para a implantação de missão crítica, sugiro estratégia azul-verde.

    
por 31.07.2015 / 21:19
2

Outra solução pode ser: AWS Elastic Beanstalk .

O AWS Elastic Beanstalk suporta muitas plataformas, incluindo o Python. Atualmente, para o Python, eles suportam:

  • 64bit Amazon Linux 2015.03 v1.4.3 executando o Python 3.4
  • 64bit Amazon Linux 2015.03 v1.4.3 executando o Python 2.7
  • 64bit Amazon Linux 2015.03 v1.4.3 executando o Python 2.6
  • 64bit Debian jessie v1.4.3 rodando o Python 3.4 (Pré-configurado - Docker)

Se o ambiente acima não for adequado para você, você também poderá configurar seu próprio ambiente via Docker. Veja o ambiente completo em aqui .

O AWS Elastic Beanstalk lida com muitas coisas:

  • Grupo de escala automática
  • Balanceador de carga
  • Controle de versão do aplicativo
  • Notificação
  • Recursos personalizados (por exemplo: RDS, ElastiCache, etc.)

Você também pode estender seu ambiente usando o script .ebextensions . Por exemplo, você deseja configurar o SSL ou adicionar outro volume do EBS.

Ele também suporta a estratégia de implantação do Blue-Green trocar o CNAME .

    
por 01.08.2015 / 10:53