La Coctelera

Rodolfo Carpintier Santana

El Blog de Infoman. Modelos de negocio del Siglo XXI

14 Enero 2011

¿Abandona Twitter Ruby onrails?

Belén, co-CEO de Charhadas, me llama la atención sobre la noticia en Techcrunch. En España hay una gran comunidad de Ruby onrails y muchas de nuestras aplicaciones están desarrolladas siguiendo sus dictados.

Siempre ha tenido detractores que defendían que los límites de Rails estaban precisamente, en las necesidades de concurrencia a niveles de cientos de miles de usuarios concurrentes. Pocas aplicaciones tienen tanta carga de comunicaciones en paralelo como Twitter y no se debe sacar conclusiones de una decisión empresarial que, en experiencia, tiene más que ver con las habilidades internas y los gustos de un CTO concreto que con las capacidades reales de un entorno de desarrollo.

Como también menciona el artículo citado, muchas empresas están ya hoy acudiendo al framework de Ruby.

Espero los comentarios de mis lectores expertos en Ruby y usuarios de sus aplicaciones.

Comentario:

Agustín Cuenca le hace notar a Belén que se trata de un artículo de hace 3 años. ¿Alguien sabe cual ha sido la historia desde entonces? Es un buen momento para hacer historia en este caso. Y si, yo también me fijaré más en las fechas...:-)

servido por Rodolfo 19 comentarios compártelo

19 comentarios · Escribe aquí tu comentario

Jose Luis

Jose Luis dijo

No es la única aplicación que ha tenido que migrar de framework de desarrollo debido al "éxito" obtenido. Y es que es muy dificil a priori establecer las condiciones de uso de una aplicación en sus comienzos, y lo que es beneficioso en el arranque (facilidad de desarrollo, bajo coste en la infraestructura/hosting) se puede volver una trampa en cuanto el proyecto tenga éxito (bendito problema si tienes dinero en el banco). Un ejemplo que todos los Arquitectos de Software deberían estudiar es la ya famosa presentación de la arquitectura de ebay, que aunque tiene unos años sigue siendo un documento muy valioso de cómo adaptarse a un incremento brutal de usuarios. Al final, ebay acabó escogiendo una plataforma basada en Java para solucionar sus problemas de escalabilidad y fiabilidad. No hay que olvidar que cada minuto que ebay esté caido están dejando de ingresar una cantidad importante de dinero (además de la mala imagen que esto supone a un sitio que vive de la confianza que genera a los usuarios). La presentación se puede encontrar fácilmente por la red, por ejemplo aqui: http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf

14 Enero 2011 | 10:02 AM

juan lucas

juan lucas dijo

Lo que no entiendo es cómo no se usan desarrollos a medida desde cero en lugar de frameworks de esos que, por propio diseño, no están preparados para algo grande. Evidentemente hablo de grande, grande. Es más sencillo para empezar, claro, pero luego vienen las "madres mías"...

14 Enero 2011 | 12:08 PM

Agustin Cuenca

Agustin Cuenca dijo

Hola Rodolfo,

Lo que ha pasado con este tema es que ha dejado de ser un problema. Es algo de lo que ya no se habla en los foros de Rails.

La lista de apps hechas con Ruby/RoR crece y aqui (http://rails100.pbworks.com/w/page/8815411/Alexa-Rankings) tienes el top 100 según Alexa. De todos modos por si alguno quiere leer mas:

http://trak3r.blogspot.com/2008/03/rails-doesnt-scale.html

Pero no nos engañemos. Hacer aplicaciones es relativamente fácil. Hacer aplicaciones que sirven millones de páginas por segundo es un problema hiper-complejo, lo hagas en lo que lo hagas. Tu problema de escalabilidad no va ser radicalmente distinto por el framework o la tecnología que haya elegido (estamos hablando de tecnologías modernas).

Nosotros no hemos llegado todavía al limite de Rails ( y hemos participado en dos proyectos en el top 100). Ni conocemos ningún caso de problemas de escalabilidad atribuibles a Rails.

IMHO, Rails sigue siendo la mejor opción disponible para abordar un proyecto Web global. Por la flexibilidad, la velocidad de desarrollo, la fiabilidad, etc.

Yo no quiero entrar en una "guerra de religión" con nadie, pero en mi experiencia (iba a poner los años pero me da verguenza ;-) ) hoy sigue siendo la mejor opción.

Por cierto en la lista que publico Loogic de inversiones en Internet /http://loogic.com/inversiones-y-adquisiciones-de-empresas-de-la-i...) en 2010 (un 10% son clientes nuestros), hay un montón de proyectos Rails, y la razón no es tecnológica, es porque en mi opinión Rails es la mejor solución desde el punto de vista de negocio.

Salu2.

14 Enero 2011 | 02:24 PM

Ivan de la Jara

Ivan de la Jara dijo

RoR es un lenguaje podriamos decir de a modo de CMS pero programando, no sirve para innovar porque es como pretender innovar dentro de Joomla, mambo o wordpress. Asi a grandes rasgos y diciendolo a lo bruto es la forma mas facil de explciarlo que he encontrado. Por eso Twitter tubo que cambiarlo por un "lenguaje de verdad" como es PHP. Hay mas informacion en el blog de High Scalability. Ahora les ha dado por usar Scala que por lo visto es uno de los pocos lenguajes OOP reales donde por lo visto no estan incluidos ni PHP, ni incluso JAVA (tanto que se las da...).

14 Enero 2011 | 05:11 PM

Javier Pérez

Javier Pérez dijo

Twitter abandonó Ruby on Rails (RoR) hace ya mucho tiempo, si no recuerdo mal ahora programan en Scala.

Hay que reconocer que los chicos de RoR hicieron un grandioso trabajo de marketing, y eso es precisamente lo que es RoR: marketing. Se ha creado una especie de religión sobre un framework, lo cual tiene su mérito, por supuesto, pero técnicamente RoR no es mejor que los frameworks de PHP (Zend, Symfony, CodeIgniter) o Python (Django). Más bien lo contrario... Prueba de ello es que la mayoría de los programadores (no confundir programador con "una persona que escribe código") aborrecen RoR, y sin embargo los diseñadores ("enemigos" y antónimos de los anteriores) lo adoran.

En todos los casos que conozco, las empresas adoptaron RoR no por una decisión técnica, sino por una decisión de "la directiva". Algo que desgraciadamente es muy común en las empresas españolas (la usurpación de competencias técnicas). Por algo nuestra industria tecnológica es tan deficiente.

Un saludo,
Javier Pérez

14 Enero 2011 | 09:37 PM

Ivan de la Jara

Ivan de la Jara dijo

Reconozco que ya tengo totalmente olvidado RoR. Quiero decir que cuando me informé sobre RoR hace unos cuantos años, vi que entre mis opciones estaba mejor aprender CakePHP que RoR porque ya se PHP pero luego me dije... ¿Para que aprender un sistema de tan alto nivel que sólo me va a permitir hacer correctamente X cosas al nivel de optimización que me gusta? Si voy a querer modificar algo para optimizar cualquier función voy a tener que pasar por la curva de aprendizaje del "lenguaje del tío ese" para luego tener que bajarme del burro cuando quiera algo mas especifico y volver a PHP puro...

Para una empresa de programación web que se dedica a hacer 300 proyectos al mes pues es un lenguaje genial porque tiene mas potencia que un CMS (aunque no se cuanta más que wordpress o drupal 7) y en "cuatro" lineas ya le has dicho al sistema como quieres que funcione... pero es lo que decíamos el otro día. Con un wordpress no puedes innovar de la misma forma que con tu propio sistema... No es ya sólo que no escale a cierto numero de usuarios, es que para poder hacer algo vas a tener que complicarte la vida innecesariamente y tener expertos en wordpress/joomla/drupal/RoR/CakePHP/etc cuando podrías haber empezado desde el principio en PHP/Java/Scala y usar clases en software libre para las funciones que estimes oportunas... En este sentido seria como esperar que Microsoft hiciese mejor todos los programas que contiene windows contra toda la competencia del mundo. Simplificando la analogía. Pretender que el Paint sea mejor que Photoshop o en el caso del software libre que Gimp.

Tengo que resaltar de nuevo que no tengo idea de RoR. Cuando me informé lo hice también de DJango por ser en Python que al usarlo Google me llamó más la atención (aunque eso de no usar llaves me enerva). Realmente el único lenguaje de alto nivel que me gusta es JQuery.

De todas formas la tecnología es como la idea, no tienen valor alguno por si mismas sino por como las utilizas para crear riqueza. Da igual que seas Ikea o un ebanista, el tema esta en donde quieres llegar. No tendría mucho sentido contratar 500 ebanistas para hacer sillas a mano pero quien sabe también hay mercado para la lechuga ecológica y no todo el mundo tiene porque crear un imperio empresarial.

Me encantan las extrapolaciones. Resumiendo. Si quieres ser Ikea no uses RoR jajajaja

15 Enero 2011 | 01:26 PM

Agustin Cuenca

Agustin Cuenca dijo

A Ivan me permito decirle que si compara RoR con joomla o wordpress debe revisar lo que sabe sobre RoR. No tienen nada que ver. RoR es un framework, y joomla o wordpress son CMS. A Javier, le diría que se ha quedado en lo que parecía que RoR era hace 4 años. Le invito a que se una a la próxima Conferencia RoR para ver que allí lo que hay son excelentes desarrolladores en su mayoría. En la conferencia ( http://conferenciarails.org/ ) se hablo fundamentalmente de temas de desarrollo. Lo que si es cierto es que, una gran parte de los desarrolladores que trabajan en RoR sienten que el diseño y la experiencia de usuario son importantes y tienen un cierto gusto por ella. Yo te invito a que te unas a uno de nuestros miércoles abiertos en ASPgems y veas el nivel de desarrolladores que hay en la comunidad. Nosotros hablamos mas de desarolladores que de programadores. Aclararte que en nuestro caso la decisión de RoR no es de la típica directiva que no sabe de tecnología, es una decisión abierta y participativa de un equipo de desarrolladores que llevamos haciendo web antes de que Java se inventara. Aqui tienes un buen ejemplo: http://www.slideshare.net/supercoco9/jruby-on-rails-ruby-on-rails...

15 Enero 2011 | 02:26 PM

Ivan de la Jara

Ivan de la Jara dijo

No pretendía decir eso, pensé que se había entendido mi analogía del concepto para los que no son programadores... pero ya que lo preguntas... Te aclararé mi opinión al respecto.

Es verdad. No tiene nada que ver un CMS con RoR que es un framework en Ruby como tantos otros frameworks de tantos otros lenguajes de usos mas comunes y eficientes como pueden ser PHP o Java...

El problema es que con un CMS no tienes que escribir "crear foro" o instalar "gemas" manualmente, ni aprenderte funciones que a alguien le dio por inventar y no sabes cuanto tiempo seguirán funcionando. Solo tienes que hacer click en plugins e instalar lo que desees... Haces lo mismo que con un framework pero mas sencillo y mas rápido. Deberías revisar lo que sabes sobre los CMS. También tienen miles de "espeluznantes" funciones con las que perder el tiempo infinitamente y acomodarlos a tus necesidades...

De todas formas el lenguaje da igual. Si llevas tantos años con Java/PHP/etc es probable que tengas funciones y clases que te lo hagan todo sin tener que volver a repetir ni una sola linea. Para algo se inventó la OOP. La respuesta negativa a esto es simple. Porque no siempre se necesita meter en memoria todas las funciones que ofrece una clase completa en todos los proyectos web que necesites hacer...

oh wait! ¿No es esto una paradoja? Ah! Entonces es por esto por lo que todos los frameworks llega el momento en el que se convierten en un gran FAIL...

Que curioso. Oiga.

15 Enero 2011 | 04:12 PM

Javier Pérez

Javier Pérez dijo

Agustín, efectivamente tienes razón, me quedé en lo que RoR era hace 4 años. Hoy es una tecnología-religión muy minoritaria. Yo trato de aprender cada nuevo lenguaje/framework que cae en mis manos (posiblemente sea uno de los pocos programadores del mundo que aprendió Go, el lenguaje de Google), porque me enriquece profesionalmente cada uno de ellos, lo use finalmente o no. Pero en el caso de RoR sólo me aportó algunos patrones de diseño (por ejemplo el famoso scaffold, que también usa CodeIgniter o Django), nada más. Con CodeIgniter (acabo de empezar a trabajar con él) creo una web en el mismo tiempo que un experto de RoR en RoR.
Tengo grandes amigos que cayeron en RoR, y ahí siguen, alguno de ellos un gran programador. Pero estaríamos hablando de gustos. Lo objetivo es decir que RoR es muy válido para startups, porque publicas un proyecto de forma inmediata sin muchos costes de desarrollo. También es el caso de Wordpress (que es un CMS, sí, pero también es un framework, todos los CMS llevan un framework)... Pero yo no recomendaría (profesionalmente) continuar con RoR una vez el proyecto comience a ser "pesado". Y eso es lo que Twitter hizo, ni más ni menos.
Por otro lado, que en una conferencia sobre un framework de desarrollo se hable de desarrollo es lo más lógico. Lo raro es que se hable de otras cuestiones, lo que convertiría a ese framework en algo más que un framework de desarrollo... ;)

15 Enero 2011 | 04:31 PM

Agustin Cuenca

Agustin Cuenca dijo

Ya sabía yo que esto acaba discutiendo si galgos o podencos, y que esto sería uan guerra de religión. Yo solo diré que llevo desde 1982 haciendo software, desde 1993-94 haciendo aplicaciones we y que según mi criterio RoR no es la pulga de benito ni el balsamo de fierabras, pero si tienes que hacer desarrollo desde "cero", es decir no te vale un CMS o una plataforma ya hecha, creo que RoR es la mejor opción. Pero no creo yo que sea el blog de Rodolfo donde discutir esto. Estais invitados a venir un dia a ASPgems y presentarnos porque pensais que no es una buena opción. Salu2.

15 Enero 2011 | 07:10 PM

Ivan de la Jara

Ivan de la Jara dijo

¿Esta de más volver a repetir aquello de "quizá deberías revisar lo que sabes sobre CMS"? MMmm... No se si quiera si serviría de algo.

Esto empieza a recordar a los flamewars iOS vs Android. Aunque me temo que aquí quien ejerce de religión es RoR, al igual que Apple. Me da que muchos programadores RoR deben de tener bastantes productos Apple.

Si no se puede explicar ninguna lógica evidente de porque RoR no sirve para hacer nada serio y con serio hablamos de empresas como las que maneja DaD o el TOP 100. Porque habría que reescribir toda la web desde cero cuando haya que optimizar o algo que no entra en las gemas. Echando así de la empresa a los programadores RoR no se si por competencia o por la mentalidad de poca optimización...

Entonces estamos perdiendo el tiempo.

16 Enero 2011 | 11:41 AM

Javier Pérez

Javier Pérez dijo

Agustín, perdona si te he ofendido, no era mi intención, ni tampoco la de entrar en ninguna guerra. En mi anterior comentario dejé claro que *objetivamente* RoR es muy válido para comenzar una startup, valga la redundancia.

Además tengo que decir que tiene un gran mérito desarrollar aplicaciones web en 1993, cuando aún no existía JavaScript, PHP, ni Ruby (se publicó en 1995, según wikipedia). Yo comencé en 1996 en Internet haciendo DHTML y siempre pensé que fui un privilegiado, pero ya veo que los hay más aún ;)

En cualquier caso no quiero perjudicar a ningún profesional, sólo trataba de poner en contexto a RoR para entender la decisión de Twitter, que es el asunto de este artículo.

16 Enero 2011 | 12:52 PM

Agustin Cuenca

Agustin Cuenca dijo

Javier, no me he sentido ofendido en ningún momento. Y no creo que un buen debate perjudique a nadie.

Por aclarar las primeras cosa las hacíamos con cgi's que escribiamos en muchas cosas, pero sobre todo perl.

17 Enero 2011 | 04:58 PM

Marcelo

Marcelo dijo

Agustín, dices que "Yo solo diré que llevo desde 1982 haciendo software, desde 1993-94 haciendo aplicaciones we y ..." ¿Puedo preguntarte qué aplicaciones web hacías en 1993-94, cuando la www se inventó en 1990 y el primer browser, Mosaic, lo lanzó la NCSA en 1993? Igual hacías aplicaciones de internet, pero web? :-)

Por cierto, totalmente de acuerdo: Ruby es un framework demasiado estrecho, yo prefiero php con zend o con pear

20 Enero 2011 | 01:20 PM

José Galisteo Ruiz

José Galisteo Ruiz dijo

Quisiera saber cuantos de los que critican RoR de forma tan gratuita han desarrollado algo en este framework en los últimos dos años.

Encima me comparan por aquí cosas como CMS y FrameWork, otros apuestan por reinventar la rueda con desarrollos desde cero (claro podrías empezar por escribir un SO que se adapte a tus necesidades y no tenga funcionalidades extra no valla a ser que te consuma varios ciclos de cpu.

¿Qué no puedes hacer con un FrameWork como Rails, Sinatra, Merb o CakePHP? Repasa tu concepto de FrameWork, este solo te da unas pautas a seguir, te facilita ciertas cosas y en algunos casos crea convenciones, luego puedes hacer lo que te de la gana.

Y si no usas un "FrameWork", al menos tendrás una batería de clases que se comparten entre proyectos, ¿sabes que una gema no es más que eso?, ¿sabes que un framework al final no es más que un conjuntos de gemas básicas mas un conjuntos de pautas, patrones y convenciones?

Aceptad la invitación de Agustin Cuenca dejad de criticar sin conocimiento.

20 Enero 2011 | 09:13 PM

Agustin Cuenca

Agustin Cuenca dijo

He dicho que llevo haciendo software desde 1982, no web desde 1982.

Efectivamente, estamos hablando de 1993 con el primer browser con el que hacíamos directorios de sitios web. Y aplicaciones (conjuntos de páginas) que hacían cosas.

Hacíamos páginas con imagenes "sensibles" que con cgi's llevaban al contenido relacionado. Y luego montabamos directorios de web a mano, colecciones de enlaces que publciabamos en HTML. etc.

20 Enero 2011 | 09:16 PM

Ivan de la Jara

Ivan de la Jara dijo

Nadie ha dicho que RoR sea una mierda inútil, solo se ha dicho que no sirve para proyectos grandes. Nada mas. Tampoco hay ataques hacia personas, ni nada en concreto. No nos pongamos dramáticos.

Todos software y hardware sirve para determinadas cosas mejor que para otras. Es así de simple. No se que problema estáis montando con eso.

No es cuestión de quien se crea mas guay o lleve mas tiempo. Son hechos. Factores. Números. No es cuestión de opinión valida o no... Si vuestro maravilloso lenguaje no es perfecto. Asumidlo. Ninguno lo es. Ya ves que drama y que problema...

Cuando un sitio web se hace lo suficientemente grande como para dar problemas de rendimiento es un hecho que solucionarlos en RoR va a ser mucho mas complicado que en otros lenguajes sin framework.

Menos mal que no hablamos de las nosql que sino... si que seria imposible decir nada lógico que aceptaseis como valido...

Creo que no ha quedado claro que hablamos de sitios web de cierto volumen como los que maneja DaD. No de la floristería Pepi.

21 Enero 2011 | 10:32 AM

Agustin Cuenca

Agustin Cuenca dijo

Estoy de acuerdo con José.

Gracias.

21 Enero 2011 | 11:07 AM

Javier Pérez

Javier Pérez dijo

Y yo estoy de acuerdo con Iván ;) Y además lo suscribo. Nadie está diciendo que RoR sea una mierda, sino que cada tecnología tiene su ámbito, sea RoR, PHP o Go. Lo que ocurre es que, volviendo a mi primer comentario, RoR es una religión y no se le puede criticar de ninguna manera, lo cual le hace un muy flaco favor al propio framework.

Tampoco creo que el debate sea sobre quién la tiene más larga. Se habla de que Twitter dejó Ruby y por lo tanto RoR. Yo he programado videojuegos desde los 13 años (cuando programar era un arte y no picar código como es ahora) y llevo unos 15 años como desarrollador web, pero dudo mucho que eso dé más credibilidad a mis opiniones (en primer lugar porque me lo puedo inventar). Así que, por favor, en serio, adjuntar el CV personal (real o ficticio) al comentario no ayuda en nada al debate.

Y de nuevo debo insistir en el hecho de que TODO CMS LLEVA UN FRAMEWORK, y por lo tanto Wordpress también lleva un framework. Por lo tanto es totalmente lógico comparar Wordpress (como framework) con RoR, Zend Framework, CodeIgniter, o cualquier otro. Además, al margen de esto, RoR tiene un (pequeño) componente CMS (scaffold, active records, gemas, etc.), aunque no lo suficiente como para ser considerado un CMS.

Por favor, no os cerréis en banda ante una única idea, hay más ideas que colores y todas son igual de válidas para problemas concretos. Gracias ;)

21 Enero 2011 | 02:54 PM

Los comentarios están cerrados


Sobre mí

Avatar de Rodolfo

Rodolfo Carpintier Santana

Madrid, España
ver perfil »
contacto »

Escribo sobre lo que me llama la atención, sobre lo que me gusta y, en general, sobre negocios de Internet.

Soy Presidente de DAD - Digital Assets Deployment, (http://www.dad.es) la incubadora de Internet







Go to Rodolfo´s Blog in English

Technorati Profile

Add to Technorati Favorites


Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera