¿Cómo realizan las personas la implementación automatizada de las aplicaciones web de Python en AWS?

La respuesta corta: no encontrará nada que ya exista que satisfaga su caso de uso exacto . La razón es porque la infraestructura / implementación de todos se verá un poco diferente.

La buena noticia es que muchos de estos componentes ya se han construido. Además, parece que ya sabe exactamente qué pasos deben tomarse para hacer realidad su sueño de implementación. Entonces, ponte a trabajar. Escribir sus pasos AF en una CLI sería trivial. Concéntrese en hacerlo e iterar en él, ya que pronto descubrirá que desea repensar por completo la forma en que lo implementa. Esta es la nube, ¡experimenta!

Algunas de las otras respuestas ya han señalado algunos de los componentes preexistentes:

  • Una herramienta de compilación (Maven, Rake, Make, etc.): puede hacer sus pasos AF dentro de esta herramienta, o usar esta herramienta para llamar a su script que ejecuta los pasos AF
  • Un servidor de integración continua (CI) (TeamCity, Jenkins, Bamboo, etc.): lo utiliza para ejecutar su compilación cuando hay cambios en la aplicación subyacente; digamos, en un registro de git, por ejemplo. También puede usar esto para enviar un correo electrónico de éxito / error después de que se ejecute su compilación.
  • Una herramienta de administración de configuración (Puppet, Chef, CFEngine): puede usarla para definir el estado de la plataforma (como instalar e inicializar automáticamente su proyecto git, o incluso verificarlo cuando se inicializa su instancia de AWS EC2).
  • ¡Proyectos de GitHub! Las herramientas de implementación de código abierto pueden darle una ventaja útil en su trabajo.

Yo tampoco conozco una solución lista para usar para sus necesidades específicas, pero puedo recomendar mirar https://pypi.python.org/pypi/mr… ..

Le permite comenzar fácilmente con un solo archivo de configuración y su integración de Fabric le permite agregar tareas específicas sin demasiados gastos generales.

También lo estamos usando junto con Puppet para configurar las instancias de EC2 en primer lugar.

Puppet (Software de automatización de TI para administradores de sistemas), Chef (Opscode) y CFEngine (CFEngine – Software de gestión de configuración | Gestión de configuración de código abierto) son todas opciones de automatización “buenas” y, combinadas con algunas herramientas proporcionadas por AWS, puede construir todo lo que sea buscando.

No existe, AFAIK, una herramienta que simplemente aparece y pregunta qué tareas desea ejecutar durante la implementación … también debe construirlas.

Parece que tiene requisitos particulares, y que yo sepa, no existe una herramienta de implementación que satisfaga todos sus requisitos. Heroku hace la mayoría de ellos (y está alojado en AWS), pero algunos de ellos deben ser implementados por usted mismo.

Jenkins o Bamboo deberían poder hacer lo que estás buscando.

http://jenkins-ci.org/
http://www.atlassian.com/softwar

El paquete Boto python también podría usarse para esto, ya que ofrece una interfaz para AWS y admite pocas actividades de implementación y administración.

https://github.com/boto/boto

More Interesting

Si quiero crear una aplicación web escalable en 2017 (un sitio web de redes sociales) y el rendimiento es crítico, ¿debería elegir JavaEE o Spring o Node.js?

¿Qué excelentes ejemplos de servicios web accesibles por SMS existen?

¿Existen plantillas de código abierto para términos y condiciones que se puedan usar para aplicaciones web?

¿Qué debo usar: Vagrant o Ubuntu para un desarrollo web de pila LAMP?

¿Cómo resuelven las startups web el problema del huevo y la gallina de tener contenido inicial antes de un lanzamiento público, si la aplicación web se basa completamente en contenido generado por el usuario?

¿Cómo se crea un rastreador web?

¿Cuáles son los elementos de un sistema de reserva de viajes en línea?

¿Cuál es la mejor pila de tecnología para una aplicación web en el dominio de finanzas?

¿De qué sirve el diseño gráfico en los sitios web?

¿Es mejor desarrollar una base de datos para una aplicación web Django bastante grande por separado en MySQL o dejar que los modelos Django lo hagan por usted?

¿Qué motor de almacenamiento MySQL sería el más apropiado para una aplicación web?

¿Qué herramienta de prueba de rendimiento es mejor para pruebas de aplicaciones basadas en web, LoadRunner o JMeter?

¿Cuáles son los 4 componentes más importantes de una aplicación web desde la perspectiva del usuario?

Cómo crear una aplicación web usando WordPress sin codificar simplemente arrastrando y soltando

¿Qué tan complicado es crear funcionalidades de reconocimiento de imágenes personalizadas en mi aplicación web? ¿Algún estadio sobre costos y tiempo?