On Sat, Jun 7, 2008 at 17:34, Alex R. [email protected] wrote:
Tengo otra aplicacion en un server linux y esa si esta con todas las de ley.
explicacion grafica de si hace o no varias instancias como lo hago en linux,
me gustaria saber si hay algo mejor que se pueda hacer.
Gracias,
Hay un capÃtulo bastante interesante en el libro Deploying Rails
Applications sobre el deploying en Windows. Por si no lo tienes, hago
un pequeño resumen.
Me divierte/asusta que una de los primeros consejos que te da para
hacer un deploy en Windows, que puede ser mucho más eficiente que
cualquier otra cosa, es montar una máquina virtual con Linux y hacer
que los Mongrel y el servidor web/balanceo de carga estén dentro de la
máquina virtual, con un proxy en Windows para enviar las peticiones de
los clientes a la máquina virtual. Ventajas que destaca son la
velocidad de ejecución de Ruby en Linux (que parece ser que a pesar de
ejecutarse en una máquina virtual, puede llegar a ser más rápido que
Ruby nativo), y que es muy sencillo hacer una migración a una máquina
Linux posteriormente.
Pero si tienes que hacer el deploy en Windows nativo (y no puedes
contar con Apache 2) el camino que sigue es varios Mongrel corriendo
como servicios de Windows en varios puertos diferentes, y hacer el
balanceo con Pen http://siag.nu/pen/, que en algunas versiones tiene
binarios para Windows (y supongo que se podrá compilar, si te pones).
Para correr Pen como servicio de Windows, te dice de bajarse el
Windows 2003 Server Resource Kit y utilizar instsvr.exe y svrany.exe
para crear el servicio (busca en Google, estas herramientas están muy
explicadas).
Tuve que hacer un deploy de una aplicación Rails en Windows y creo que
intentaré no hacerlo nunca más. Pero eso sÃ, aprendes a optimizar
mucho tu aplicación, y hacer caching de todo lo que puedas para que
(casi) ninguna petición toque a Rails/Ruby. Mi deploy final era Apache
1.3 haciendo de proxy hacia un único Mongrel (a los usuarios parece
bastarles), donde Mongrel también sirve la parte estática del sitio
(únicamente con mod_rewrite de Apache 1.3 no conseguà que sirviera e
hiciera de proxy en las mismas URL). Por cierto, antes de esta
configuración pasamos por FastCGI, pero eso era imposible de utilizar.
Al final creo que va a 1req/s, pero no he oido protestas.
Para quienes lo de 1req/s les sorprenda: Pentium III a 533GHz con
(creo) 256 MB RAM, Windows 2000 Server, un antivirus corriendo, un
firewall, un Tomcat, y alguna cosa más… sÃ, me gustan los retos (una
gente bastante “ahorradora”, digamos). Un ordenador parecido, pero con
Linux ha ejecutado todo feliz aplicaciones de Rails sin inmutarse (y
con FastCGI).
Moraleja: en cuanto puedas mueve tu aplicación a Linux y sé feliz.
Bai.