2009-05-15 10 views
6

Estoy dividido entre los beneficios de desarrollar aplicaciones web (no comerciales) de Java y desplegarlo en algo como la nube Aptana o Google, o simplemente ir con una cuenta de Slice Host. Tomcat o Jetty y MySQL son realmente mis únicos requisitos importantes. Aptana y Google App Engine vienen con algunas interesantes opciones de implementación de Eclipse, pero ¿realmente importa la escalabilidad sin una gran base de usuarios para las aplicaciones?¿Qué es mejor para el alojamiento de desarrollo Java: Aptana? ¿Motor de aplicaciones de Google? Slice Host?

Además, tanto Aptana como Google App Engine parecen estar en etapas infantiles, así que me pregunto si habrá demasiadas restricciones, incluso para el desarrollo de poco tiempo. ¿Alguien tiene experiencia con esto?

Respuesta

6

No puedo hablar con Aptana, pero Google App Engine es una experiencia de desarrollo radicalmente diferente de lo que obtendrás con algo como Slicehost. Se escala de forma diferente (es decir, tiene la posibilidad de manejar cargas mucho más grandes) pero también es totalmente diferente a ejecutar su propio servidor de aplicaciones web (por ejemplo, Glassfish, Tomcat, JBoss, etc.) y la codificación utilizando herramientas Java "estándar".

Con Slicehost o cualquier solución alojada, es fácil configurar localmente su propio entorno de desarrollo que imita exactamente lo que se ejecutará en el servidor. Mismo software, misma máquina virtual, tal vez incluso la misma versión de Linux. Incluso podría moverse a un host diferente y aún así ser capaz de configurar ese mismo entorno.

Con Google App Engine, se encontrará construyendo sobre un emulador (realmente no ejecuta BigTable localmente) por lo que no hay una correspondencia uno a uno entre su entorno y el del servidor. No hay lugar alternativo para moverse y seguir funcionando en el mismo entorno tampoco. Además, tal vez muchos de los frameworks Java populares que pueda usar para el desarrollo de una aplicación web no funcionarán en absoluto (por ejemplo) o no funcionarán de inmediato (see here for more details).

No estoy en la App Engine, de hecho, creo que es realmente genial. Si la demanda de sus aplicaciones es relativamente baja y, por lo tanto, no necesita los enormes requisitos de escalamiento, pero su tráfico no es tan bajo como para ajustarse cómodamente a la asignación gratuita en Google, entonces probablemente me inclinaría por una solución alojada como Slicehost en cambio.

+0

Intento escribir una aplicación java en App Engine y sus puntos son acertados. Su elección de marcos es actualmente bastante limitada, que es el mayor inconveniente para mí. Aún no he intentado subir mi aplicación a sus servidores, así que no puedo hablar sobre la diferencia en el entorno, pero espero que sean lo suficientemente similares como para captar la gran mayoría de los problemas. Continuaré porque sospecho que mi tráfico será lo suficientemente pequeño como para ser libre durante mucho tiempo. – digitaljoel

2

Uso slicehost y estoy contento con el resultado hasta ahora. Es fácil actualizar tu porción (tuve que hacerlo una vez) y es fácil retrotraer a una copia de seguridad de la porción (tuve que hacer eso también una vez). Estoy alojando Tomcat y MySQL.

1

Tenga en cuenta que Google App Engine no le proporciona un JRE completo. No puede generar hilos directamente, por ejemplo. Además, descubrí que el rendimiento del almacén de datos de GAE es demasiado lento: me topa con excepciones de tiempo de espera constantemente. En resumen, no es una verdadera solución de alojamiento de aplicaciones. Debe adaptar su aplicación para que funcione en GAE.

0

Sugeriría usar Amazon Web Services. Obtienes el poder de la nube sin limitaciones en tu aplicación, a diferencia de App Engine.

+0

Sin limitaciones? ¿Quiere decir que no hay limitaciones en el enhebrado, el almacenamiento de datos, la configuración de recolección de basura, la configuración de memoria, etc.? – Matt

+0

Bueno, me refiero a que no hay limitaciones, ya que AWS le permite configurar/desmontar un servidor con solo hacer clic en un botón, y puede configurar ese servidor para hacer lo que quiera que haga. No pone limitaciones a lo que tu aplicación puede o no puede usar. –

Cuestiones relacionadas