lunes, 1 de junio de 2015

Hosting en Rails

Tras más de siete años en Rails, con necesidades que han ido evolucionando a medida que multiplicamos por 10 el tráfico, hemos pasado ya por bastantes proveedores de hosting en Rails, y nos gustaría compartir nuestra experiencia por si os es de utilidad...

Railsplayground, nuestro primer hosting de desarrollo en Rails

En la etapa del primer desarrollo de la web en Rails, buscamos un hosting que por poco dinero nos permitiera tener un entorno de pruebas "real". Probablemente hoy Heroku sería la mejor opción para el hosting de una aplicación en desarrollo, pero era 2007 y no existía Heroku, así que nos decantamos por Railsplayground... y francamente, la experiencia fue muy buena; por 9 euros/mes, teníamos un Virtual Private Server (VPS) bastante decente, y ayuda por parte de sus técnicos para "montar la paraeta" desde cero, lo cual venía muy bien porque en aquella época las cosas no estaban aún demasiado documentadas...
Dada la calidad del servicio de Railsplayground, nos hubiera encantado mantener con ellos el hosting en producción; pero para meter nuestra base de datos en un servidor americano, la ley nos obligaba a que fuera uno que cumpliera con Safe Harbor, y lamentablemente Railsplayground no estaba entre ellos, así que tuvimos que buscar uno que lo cumpliera... o uno español, para evitarnos líos legales.

Ferca, nuestro primer hosting de producción en Rails

Ferca (actualmente fusionada en Acens) fue una buena muestra de lo que vienen siendo los hosting españoles: mucho más caros y con peor servicio que los equivalentes americanos. Nuestra aplicación rails corría en un servidor dedicado, de varios cientos de euros al mes, y sin embargo el servicio de atención al cliente estaba muy lejos de la atención que nos daban con nuestro servidor VPS de 9 euros en Railsplayground... afortunadamente, pudimos contar con los servicios de Eduardo Fernandez (gracias, Edu!!) para mantenerlo todo funcionando sin tener en casa un especialista en sistemas.
Tener el hosting en España tiene una serie de ventajas importantes:
  • No hay complicaciones legales.
  • Tienes un menor tiempo de latencia.
  • El horario del servicio al cliente coincide con el tuyo, y hablan tu idioma.
Pero francamente, la diferencia de precio y de servicio entre Railsplayground y Ferca era abismal, y sobrepasaba con creces estas ventajas... a cualquiera que vaya a buscar un hosting de rails en España, le recomendaría que al menos valore también los hosting de fuera de España, especialmente los hosting especializados en Rails.

OVH, un hosting barato realmente barato

En parte porque se nos empezaba a quedar pequeño, y en parte por la cuestión económica, empezamos a mirar otros servidores dedicados, y acabamos pillando uno en OVH que tenía seis veces más de memoria y cuatro veces más de procesador que el de Ferca, por una tercera parte de lo que nos costaba el anterior. El cambio no fue trivial, pero valió la pena... ahora, eso sí, OVH es un hosting low cost para lo bueno y para lo malo!! Con OVH, como tengas un problema que no sepas resolver tú y dependas de ellos, te vas a arrepentir de todo lo que has ahorrado en hosting...

BrightBox, un hosting especializado en Rails con buen servicio... para proyectos pequeños

Para que los programadores nos dedicáramos a programar y no a mantenimiento de sistemas, empezamos a buscar alternativas de hosting que nos dieran ya no sólo el hosting, sino también el servicio de mantenerlo todo a punto. Y eso nos llevó a BrightBox, un hosting realmente especializado en Rails. Y como los experimentos se hacen con gaseosa, pues movimos a BrightBox la web pequeñita del grupo, Mimandote.com.
La experiencia fue una maravilla, todo funcionaba muy bien y era muy fácil de instalar y configurar, así que después movimos la mediana, Verema.com, y después la grande, Rankia.com... y aquí vino el infierno.
Por decirlo claramente: BrightBox no está preparado para webs grandes. Su servicio de atención al cliente fue impecable, se volcaron con nosotros, nos ayudaron a configurarlo todo, nos asesoraron... pero aquello no soportaba la carga de nuestra web. Contratamos más instancias ("brightboxes"), añadiendo un balanceador; el precio se nos disparó, pero la web tenía que funcionar... y aún así no funcionaba.
Sin nada que perder, porque la web se nos estaba cayendo permanentemente, buscamos una alternativa de urgencia y que nos diera el nivel de servicio que queríamos; Heroku no era una opción, porque no cumplía Safe Harbor (no sé si hoy lo cumplirá), así que acabamos en EngineYard casi por eliminación. Hicimos el cambio con urgencia y sin tiempo para probar las cosas, pero afortunadamente la web funcionó bien.

EngineYard, un hosting especializado en Rails con buen servicio... para proyectos grandes

EngineYard, más que una empresa de hosting, es una empresa de servicios que se encarga de que todo lo relacionado con el hosting de tu aplicación Rails funcione bien, utilizando los servicios de hosting de Amazon (de forma transparente para el cliente) y cargandote aproximadamente un 20% adicional a lo que cuesta el hosting de Amazon.
¿Y cuanto cuesta? Pues depende de lo que necesites... para Rankia (hablamos de 10 millones de páginas/mes) tenemos tres instancias medium (una de BD y dos de aplicaciones), que son algo más de $500/mes; para Verema, tenemos dos medium ($350), una de BD y otra de aplicaciones y vamos sobrados; y para Mimandote, que es más pequeña, nos apañamos bien con una small ($90/mes). No es barato, considerando que teníamos un dedicado por 80 euros/mes, pero ahora nos dedicamos a programar y no a sistemas, y el número de incidencias relacionadas con el hosting se ha reducido bastante. Y el servicio que nos dan cada vez que necesitamos algo es muy bueno, esa atención al cliente es algo que los americanos hacen realmente bien.
Eso sí, aparte del hosting, hay otros servicios que en un servidor dedicado tienes, pero con EngineYard no:
  • Resolución de DNS
  • Envío de correos
  • Almacenamiento de archivos estáticos
Todo eso se tiene que contratar con terceros, y aunque no es tampoco muy caro, y además obtienes un servicio mejor que el que tendrías en tu servidor dedicado (los que se dedican a eso lo tienen muy "currao"), es un dinero con el que también debes contar a la hora de valorar el cambio. Por si os sirve de algo, nosotros lo tenemos con DNSimple.com , SendGrid.com y Amazon S3
Eso sí, lo que no tiene EngineYard es un plan gratuito para empezar al estilo de Heroku (sí que tiene un trial de 30 días, pero pasados los 30 dias te toca pagar mínimo $90/mes, aunque sea un mini-proyecto), por lo que sólo lo considero óptimo para aplicaciones que ya hayan alcanzado cierto tamaño...

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.