2011-09-15 32 views
17

Estamos tratando de decidir si alojar nuestra obra! framework y la aplicación mysql Java en Elastic Beanstalk de Amazon o la nueva oferta de Heroku Java. Tengo problemas para descubrir cuáles serían las ventajas de Heroku. Una desventaja de es que Heroku no escanea automáticamente nodos como beanstalk. ¿Pero hay ventajas que debería conocer?¿Cuáles son las ventajas del nuevo soporte Heroku Java sobre Amazon Elastic Beanstalk

+1

No debería comentar sobre las diferencias ya que trabajo para Heroku. Pero señalaré que hay algunas herramientas de terceros que manejarán el escalado automático en Heroku. La administración de Heroku está expuesta a través de las API REST en las que cualquiera puede construir herramientas. –

+2

Estoy dispuesto a escuchar una opinión parcial de James, así que adelante si quiere señalar algunas ventajas. :) –

+0

Heroku recientemente comenzó a apoyar Play.En mi opinión, no se alojarán muchas aplicaciones de juego (calidad del producto, no de tipo hola hello). La palabra todavía se está extendiendo. Era predominantemente la tienda Ruby. Por lo tanto, tendrá que esperar un tiempo para obtener una comparación real :) – basav

Respuesta

11

Así que después de alguna experiencia dolorosa con AWS planta de frijoles elástico, aquí está mi respuesta: (tl; dr estamos cambiando a heroku)

ventajas Beanstalk:

  • AutoScaling (pero asegúrese de que realmente necesita esto, es fácil de escalar en heroku, es sólo manual)
  • Basado en formato WAR, si está familiarizado con el que ya (véase más adelante)

Disa dvantages:

  • Para jugar! aplicaciones, el proceso de construcción de la guerra es algo de último momento. Tuve problemas para hacer cosas como los apiladores log4j personalizados y ejecutar trabajos programados. No es totalmente natural que el juego funcione en un contenedor de servlets, por lo que se topan con algunos problemas extraños.
  • Proceso de implementación extremadamente complicado. Básicamente estaba cargando 130MB archivos de guerra para cada implementación a través de una consola web. Finalmente conseguí que todo se implementara a través de un proceso de compilación de línea de comandos, pero fue un gran esfuerzo. Tengo la sensación de que nadie está usando el elástico Beanstalk sino yo, ya que estaba solo averiguando las herramientas de línea de comando bastante malas. Para dar una idea de cómo implementar una aplicación de reproducción en beanstalk: compilar un archivo war, instalar algunas herramientas s3 y cargar war, instalar utilidades beanstalk y usarlas para crear una nueva configuración, luego implementar esa configuración. Hay muchos detalles dolorosos para superar en esa lista. En heroku empujas tu repositorio y lo hace todo.
  • Tomcat! Por ejemplo, Play no tenía los permisos adecuados para ejecutar trabajos programados con la versión de tomcat implementada para beanstalk.
  • El registro es LO PEOR. Puede ir y descargar los archivos de registro capturados para cada servidor individual que está ejecutando. Pero parece que nunca contienen lo que necesitas. Tenía dos servidores y ya era terrible.

Hay más, pero la historia corta es que estamos cambiando a heroku y ya ha sido una experiencia mucho mejor. Tratar con los certificados SSL, el registro combinado y el increíble conjunto de complementos (loggly centralized logging, websolr hosted search, etc.) me hace pensar que ya lo vale.

Proporcionaré más detalles en los comentarios si la gente solicita más detalles.

+0

FWIW, Elastic Beanstalk ya no requiere archivos WAR ya que también es compatible con Python, PHP, .NET, etc. – Raj

5

Desde mi punto de vista, con una experiencia mínima en ambas plataformas, me parece que Heroku requiere menos trabajo de su parte, las cosas son más automatizadas para usted.

Lo pagas, pero para una aplicación de tamaño pequeño y mediano creo que vale la pena.

+1

¿Podría ser más específico? ¿Te refieres principalmente a cómo desplegar? ¿O hay cosas como ventajas de administrador de DB también? Gracias. –

+0

Me refiero a despliegue, mantenimiento del servidor (seguridad, parches, etc.), tiempo de actividad del servidor (excepto si está relacionado con fallas de la aplicación por algún motivo de software), etc. Para mí eso es de gran valor ya que puede llevar mucho tiempo y mantener estas despierto por las noches –

+0

No entiendo cómo estas cualidades (bajo mantenimiento, etc.) se aplican a Heroku pero no a Amazon Beanstalk. – ripper234

Cuestiones relacionadas