El otro efecto Menéame

 

 

Reconozco que una de mis aficiones favoritas es procrastinar trolleando en los comentarios de las noticias de Menéame. Aunque supongo que todo el mundo lo sabe, Menéame es el conocido clon hispano de Digg, el servicio a enlace de noticias gestionado por los usuarios (envían las que le gustan, y votan otras que les interesan). El pasado domingo intenté conectarme a Menéame después de pasar por varios periódicos online, y me encuentro con el sitio caído. Extraño, Menéame es muy estable… googleo un poco y veo que un rayo la lía parda en un centro de datos de Irlanda donde Amazon Web Services tiene alojada su zona europea. Microsoft, Paypal y otros también les afecta el servicio. Lo primero que me viene a la cabeza es: ¿Ese Datacenter no es un Tier 4? Si lo es, no lo parece…

El lunes por la mañana mientras desayuno me conecto de nuevo para ver si Menéame ha vuelto, y nada, el sitio sigue caído. A lo largo del día comento con varias personas la situación, y resulta inevitable preguntarse qué carajo les ha pasado, sin más… El martes por la mañana me conecto y me quedo de piedra: ¿Todavía no han levantado el servicio? Y empiezo a investigar qué ha pasado realmente con Amazon EC2, y qué ha pasado con Menéame.

Antes de empezar con las conclusiones, quisiera contar una intrahistoria que no se si la gente de Menéame son conscientes de ella o no: Menéame ha sido la mejor propaganda en España del servicio Amazon EC2. Ese es el otro ‘Efecto Menéame‘. Profesionales del hosting reconocen en privado que la decisión de ir a Amazon EC2 fue un golpe para el hosting tradicional en España, y conozco mucha gente que pone como ejemplo de buenas prácticas de despliegue en Amazon EC2 el famoso post de Ricardo Galli sobre su arquitectura. Revisando el post de nuevo, hay dos cosas que me llaman la atención:

  • La arquitectura usa (¿abusa?) de el almacenamiento persistente EBS. Aunque sobre el papel es una solución fantástica, es el servicio de Amazon que más problemas ha dado, con un historial de problemas en otras zonas muy grande, que incluye la pérdida de información. De hecho otro conocido clon de Digg que funciona sobre EC2 las ha pasado mal precisamente por el uso de EBS. De hecho, algunos que también han aprendido a base de castañazos nos ofrecen alternativas.
  • Pero lo que más me sorprende es el tono del documento, donde subyace el mensaje de que Amazon EC2 es indestructible. Todo, absolutamente todo corre en Amazon, por lo tanto se confía ciegamente en la capacidad de Amazon Web Services para correr el servicio. Con frases más propias de un comercial que de un ingeniero: “…(en Amazon está todo monitorizado y es público, una caída afecta a muchos servidores, así que no tardan nada en resolver)”.
Este es el problema que ha tenido Menéame: han pensado que Amazon Web Services no puede fallar, y es precisamente el pensamiento contrario el que debes tener cuando despliegas en una Nube: TODO PUEDE FALLAR. Y es precisamente lo que ha pasado. Amazon Web Services ha tenido una cadena de fallos que han afectado de manera catastrófica a algunos clientes:
  • Un rayo la lía parda. Terremotos, tormentas, inundaciones… contra la naturaleza no podemos hacer nada. Todos los servicios de Amazon se vienen abajo en Irlanda.
  • Los servicios tardan en ponerse de nuevo activos.
  • Al intentar levantar los servicios, Amazon Elastic Block Storage (EBS) no se recupera de manera adecuada debido a un bug. Al parecer se eliminaban ciertas partes de los bloques que los volvía inutilizables. Creo que esto no explica todos los problemas con EBS, pero es el típico bug que solo surge en escenarios considerados improbables (¿es rearrancar un servicio como EBS un escenario improbable?)
  • Todos los servicios dependientes de EBS fallan. Amazon Web Services pide a sus clientes que usen EBS de una zona no afectada. Eso implica crear e importar datos e imágenes a otras zonas.
Estos cuatro pasos y la información correspondiente fue facilitada por Amazon a los clientes de manera abierta antes de las primeras 24 horas. Por lo tanto todo el tiempo necesario para levantar el servicio de nuevo no es imputable a Amazon, sino a los responsables de las aplicaciones desplegadas, es decir los Menéame, Paypal y compañía.  Es habitual que las empresas creen planes de contingencia para aquellos servicios que se consideran críticos para el funcionamiento de su negocio.
Amazon Web Services es un servicio desde el punto de vista de ingeniería sublime, pero no es mágico. Puede fallar y lo hace. Pero además, es mucho menos resistente a fallos que otras soluciones. No porque esté construido de manera deficiente o porque su infraestructura no sea buena: es menos resistente porque está diseñado así. En Amazon Web Services y en gran número de nubes públicas es la aplicación la responsable de mantenerse funcionando pese a los fallos, en contra de lo que ocurre en el despliegue en infraestructura tradicional. Recomiendo este post, ‘Designing to fail‘. La razón es clara: hacer que la infraestructura sea resistente a fallos es muy caro. Ofrece los recursos de almacenamiento y computación lo más baratos posible y delega en la aplicación esa gestión.
Netflix es una empresa que lleva el concepto del ‘Diseñado para fallar’ al límite. Netflix tiene su infraestructura en Amazon y Akamai. Y para asegurarse que el servicio siempre está funcionando, creó una aplicación llamada ‘Chaos Monkey‘. Chaos Monkey lo que hace es tratar de interrumpir el servicio de Netflix simulando los errores que pueden ocurrir en Amazon (caída de instancias, desconexión de la red, degradación del servicio…) de manera aleatoria y no preprogramada. Vamos, como si metes un mono de feria dentro de tus racks en el centro de datos y empieza a tirar de los cables y a apagar y encender los ordenadores. Puede sonar un poco paranoico… pero cualquiera que haya tenido aplicaciones en producción a veces se pregunta si no hay un duende en vez de un mono puteando a los servidores.
Resumiendo, Menéame no estaba diseñado para fallar. Y lo mismo pasa con la gran mayoría de los servicios desplegados en Nubes Públicas. ¿Y por qué no lo están? Pues porque es caro, lleva tiempo y además es complejo. Caro, porque normalmente implica desarrollo adicional y contratar servicios en otro proveedor localizado en otra zona geográfica. Tiempo, porque necesitas dedicar recursos de desarrollo a infraestructura en vez de requisitos de negocio. Y complejo, porque la gran mayoría de los ingenieros software no conocen los intríngulis del desarrollo de sistemas resistentes a fallos. ¿cuando vale la pena invertir en esto? Eso es una decisión que debe hacer cada uno.
Lo que me pregunto es si la gran propaganda que fue para Amazon la migración de Menéame, podría volverse en su contra tras estos tres días de caída del servicio. Yo si fuera Amazon, les regalaba el servicio durante un tiempo y de paso les enviaba un par de jamones. Y si fuera un proveedor de hosting o cloud español, aprovecharía el cabreo que deben tener ahora mismo Galli y cía. para hacerles una oferta de alojamiento patrocinada ;-)
Actualización 11 de Agosto de 2011: Este post ha sido portada de Menéame (cosas veredes…) . El Dr. Galli ha publicado un post explicando lo que ha pasado. Y se confirman mis sospechas: prepararon planes de contingencia para todo menos para ellos mismos, un error muy común, por otra parte. Otra cosa que sospechaba era que la crítica pública al Dr. Galli atraería la ira de script kiddies y demás fauna, como así ha sido :-(

Relacionado:

  1. Amazon anuncia nuevas instancias desde $7 al mes
  • Pingback: Twitted by abelcastosa

  • Moosc

    Si no recuerdo mal, Ricardo Galli comento hace tiempo que con meneame ganaban unos 4.000/5.000€ al mes. (según ellos lo hacían por placer, no por el dinero que ganaban)

    No creo con esas ganancias puedan invertir mucho mas de lo que hacen ahora…

    • Davoxxxxx4512

      4000/5000 euros? jajajaja y tu que le crees posicion en alexa numero 1597 la web numero 40 mas visita de españa multiplica por 10 la cantidad que te dijeron y eso se hacen mensual

      meneame se embolsa de 40 a 50 MIL EUROS MENSUALES no los engañen.

      • Anonymous

        ¿€40K o €50K? Mira que lo dudo…

        • Guest

          En parte Davoxxxxx4512 tiene razón, no creo que llegue a 40k pero sin duda mucho más que 5k,

      • Anonymous

        ¿€40K o €50K? Mira que lo dudo…

      • Anonymous

        ¿€40K o €50K? Mira que lo dudo…

      • Amigomio

        ya le gustaria a cualquiera ganar eso, pero no es cierto

      • Mancebador

        Perdona, lo primero sería escribir con coherencia, y luego aportar datos de lo que dices.

      • http://www.comunidadhosting.com/ Jaime.co

        La posición del ranking de Alexa no es necesariamente inversamente proporcional (menor número, más ingresos) a los ingresos que puede generar un sitio. Para empezar, no todo el mundo tiene instalada la barra de Alexa. Después, depende mucho de la capacidad de monetización que tenga el sitio. Y luego, en el caso de Menéame, que depende de la publicidad creo que al 100%, tampoco es que esté inundado de anuncios publicitarios.

        A menos que tengas información confidencial en tus manos que no conozcamos, yo dudo mucho eso de que se embolsan 40 a 50 mil euros mensuales. Conozco sitios similares en tráfico y en mécanica a Menéame y se embolsan alrededor de una quinta parte de eso.

        • http://www.comunidadhosting.com/ Jaime.co

          Actualizo: según las cifras que acaba de publicar Ricardo en un artículo de hoy, entiendo que la facturación mensual de Menéame estará por el orden de los 15.000 euros mensuales.

    • Anonymous

      Yo también he leido lo de los €4000 y €5000 al mes… me parece poco.

      Lo dicho antes, seguro que hicieron cuentas y no les salía tener todo redundado.

    • Anonymous

      Yo también he leido lo de los €4000 y €5000 al mes… me parece poco.

      Lo dicho antes, seguro que hicieron cuentas y no les salía tener todo redundado.

    • Anonymous

      Yo también he leido lo de los €4000 y €5000 al mes… me parece poco.

      Lo dicho antes, seguro que hicieron cuentas y no les salía tener todo redundado.

  • Josep

    Gracias por el ‘designing
    to fail’. La verdad es que tenia en mente utilizar EC2 para un proyecto, precisamente por la
    detallada descripción de la migración de meneame de Galli. Visto lo visto, creo que ahora lo montaré en un data-center que me sea geográficamente cercano y al cual
    pueda acudir si es necesario con un servidor de recambio bajo el brazo…

    Saludos

    • Anonymous

      Yo haría lo contrario: usaría Amazon (u otro proveedor de Cloud) por defecto y si no me vale me iría a un hosting tradicional.

      Te saldrá más barato.

    • Anonymous

      Yo haría lo contrario: usaría Amazon (u otro proveedor de Cloud) por defecto y si no me vale me iría a un hosting tradicional.

      Te saldrá más barato.

    • yomismo

      y tu te crees más cualificado para solucionar problemas mejor y más rápido que el equipo de Amazon? estás seguro de que el datacenter de la esquina va a ser mejor que el de Amazon? Piénsalo bien amigo! ;)

      • Anonymous

        Yo creo que Amazon debería ser mejor que el datacenter de la esquina… aunque a veces te llevas sorpresas…

        Las cagadas con EBS están siendo demasiado gordas.

        • yomismo

          dentro de lo que cabe es un servicio “joven” y supongo que en continua evolución. Todo entorno está sujeto a fallos, pero no te falta razón en que si estos errores se van repitiendo tienen que hacer algo. Aún así, estás comprando un Ferrari cuando antes teníamos Seat Panda. Seguro que la gente de Amazon aprende de todo esto, lo solucionan y al final hasta le sacan pasta al asunto! xD

  • dapiam

    Hola,

    totalmente de acuerdo con lo que escribes, es el problema de usar la nube como si fuera un hosting cotidiano.

    He podido leer fans de meneame soltar toda clase de descalificaciones a Amazon, como siempre se olvidan de puntualizar. La caida se ha producido de unos EBS en una de la tres zonas que hay en EU.

    Da la casualidad que yo tengo servicios EBS en la misma zona que meneame y no he tenido ni un solo problema durante esta incidencia, igualmente mi servicio está replicado en otras zonas de EU ( para mantener la mejor conectividad con Europa ) y en otras localizaciones US East para que, si se quema todo Amazon EU, pueda migrar mi servicio  a EEUU ( peor conectividad con Europa, pero ofreciendo servicio ).

    Sobre la frase que dices ” Menéame no estaba diseñado para fallar “.

    Está diseñado por un muy buen programador, programado por un muy buen programador y administrado por un muy buen programador. El administrador/arquitecto de sistemas es una figura, ninguneado por el empresario ( total, el programador ya lo sabe hacer ) y por el programador ( total, esto que tu haces/propones yo tengo un servidor con mis proyectos y funciona bien, no es necesario invertir en las mejoras de ….. ).

    Lo que hizo Ricardo Galli en su momento, fué genial, nos mostró los pros y contras de una migración. “Cuando el problema del hardware se convierte en sólo de software” http://gallir.wordpress.com/2010/05/12/cuando-el-problema-del-hardware-se-convierte-en-solo-de-software/ )

    No quiero quitar ningún merito, y le quiero dar la gracias a Ricardo por mostrar y atreverse ha realizado una gran tarea, yo mismo utilizo su post para “evangelizar” sobre la nube. He escuchado sus podcast que hizo en Daboblog, para mi es un referente y estoy seguro que de esta experiencia encontrará soluciones y las compartirá.

    Para acabar, alegrarme porque meneame ya está online, espero y deseo leer el post de Ricardo sobre este incidente, alegrarme porque esto servirá para hacer crecer la nube y sobretodo para reivindicar la figura del administrador/arquitecto de sistemas.

    • Anonymous

      No voy a discutir la valía de los programadores de Menéame… sus razones tendrán para haber delegado todo Amazon, probablemente hayan hecho cuentas y no les salía tener el sistema completamente redundado. O simplemente la han cagado… ¡hasta los buenos la cagan alguna vez! ¡A ver si ahora no van a poder equivocarse!

      • dapiam

        No es mi intención discutir sobre la valía de nadie ni tampoco lo pretendía, solo remarco a raíz de unos acontecimientos mi punto de vista.

        Todo el mundo comete errores y solo los mejores aprenden de ellos, por eso digo al final que esto hace mejorar la nube.

        • Anonymous

          +1 !

  • Maciasolete

    Solo un apunte: en Irlanda solo hay una compania electrica con red propia: ESB. Por lo tanto, aunque hay algun data centre que dice serlo, NO SE PUEDE construir un data centre que sea Tier 4 en este pais!

    • Anonymous

      No lo sabía… pues un -1 para Irlanda.

  • http://openid.blogs.es/kinoss kinos

    No quiero quitar peso a los programadores de dicha web, aun asi, hacen un genial trabajo y siempre habra opositores a dicho formato

    pd:Salu2 desde Ofertas ADSL Vodafone.

  • http://openid.blogs.es/kinoss kinos

    No quiero quitar peso a los programadores de dicha web, aun asi, hacen un genial trabajo y siempre habra opositores a dicho formato

    pd:Salu2 desde Ofertas ADSL Vodafone.

  • Jjpelaezdel

    Un apunte: Galli NO es ingeniero. De ahí que emita frases “más propias de un comercial que de un ingeniero”

    • dapiam

      Como? tienes razón, no es ingeniero, es sólo DOCTOR en informática ( http://gallir.wordpress.com/about/ )

      Lo que hay que leer!!!!

      • Jjpelaezdel

        Y que tendrá que ver ser doctor con ser ingeniero. Un ingeniero es un señor que tiene una titulación en ingeniería. En Ingeniería Informática, Ingeniería Naval, o cualquier otra. Y Gallí, NO lo tiene. Quizás por eso es tan contraría a la regulación de la Ingeniería en Informática…… A lo mejor le reconocen el título de doctor.

        • anna

          ¿Qué significa “reconocer el título de Doctor”? Doctor es más que Ingeniero, no hay nada que homologar ni reconocer…

          • Jjpelaezdel

            No entiendo tu argumento. Un doctor en História del Arte, no es ingeniero. La verdad no entiendo dónde está la complicación de mi argumento. No estoy diciendo, ni he planteado en ningún momento, que Gallí no tenga un título superior o inferior al de Licenciado/Arquitecto/Ingeniero. Simplemente estoy diciendo que Galli NO es ingeniero, al igual que no lo es un doctor en Historia del Arte. Yo lo veo claro, pero parece ser que no lo es tanto. Hombre, si se regulase, la Ingeniería en Informática, con competencias exclusivas sobre determinadas actividades reservadas a los Ingeniero en Informática, debo decirte que para ejercer esas determinadas actividades, o tienes título en Ingeniería en Informática, o por muy doctor que seas, no ejercerás sobre esas determinadas actividades. Para ser doctor en Informática NO es necesario partir de un título de Ingeniero en Informática. Insisto, Gallí, NO es ingeniero. 

          • Carlos Guerrero

            Es más ingeniero que la mayoría con su título de ingeniero. ¿A caso crear un software como Meneame no es algo propio a un ingeniero de software? Además de meneame ha desarrollado otros proyectos que se pueden catalogar de ingeniería. ¿Su tesis tampoco es algo encuadrable dentro de la ingeniería de software?

            Habría que ver qué se considera un ingeniero, si una persona encargado de aplicar métricas, gestionar proyectos/equipos, predecir costes/riesgos, etc. o una persona que crea/desarrolla/construye/mejora/amplia/inventa un producto/servicio ingenioso/ingenieril Para mí está claro, no sé para ti.

            No es mi intención entrar en el flamewar de los ingenieros pero supongo que con mi comentario lo estaré haciendo inevitablemente.

          • Dispatchertm

            Eres intruso en la profesión de la ingeniería informática?. El argumento que utilizas es muy usado por los no ingenieros en esta profesión.

          • Carlos Guerrero

            Hola, soy el de arriba. Supongo que no me creerás (tampoco tienes por qué ¿no? :) pero no soy ningún intruso. Terminé ingeniería técnica en informática de gestión hace un año y llevo trabajando unos 5 años como desarrollador de software (o analista-programador o ingeniero o como quieras llamarlo, en mi ficha pone “software developer”). También estudié el ciclo formativo Administración de Sistemas Informáticos.

            Pero, sinceramente, la palabra ‘intruso’ me parece despectiva. Si hubiera aprendido lo que sé y fuese tal como soy ahora, yendo por otro camino (el no académico-reglado) creo de verdad que tampoco me consideraría intruso, ni se me debería considerar como a tal. Todos somos antetodo personas, la vida no es lineal y creo existe más de un camino para llegar a un mismo sitio. Para ser competente como ingeniero de software creo que hay más de un camino, y el nivel de competencia de un profesional se mide (o se debería de medir) objetivamente por sus actos/trabajo.

            Otra cosa que quiero recordar es que quienes hemos podido estudiar en la universidad somos unos privilegiados, en dos sentidos: primero que por desgracia hay MUCHA gente que no tiene recursos/tanta suerte para poder permitírselo. Y segundo que el acceso a todos los recursos que te da una universidad (compañeros de carrera, bibliotecas, asignaturas de todo tipo, seminarios, laboratorios, becas, …todo un entorno intelectual) hay que ser consciente que es una gran ventaja, algo a valorar.

            De todos modos, sea o no un “intruso” (repito, no lo soy pero estás en tu derecho de no creerme) no varía en nada mi argumento porque no tiene nada que ver mi condición con el hecho de definir qué es realmente un ingeniero y de si alguien que realiza ingeniería (independientemente de su condición académica o laboral) se le puede o no considerar ingeniero.

    • Anonymous

      Es Doctor en Informática… a todos los efectos es un Ingeniero++.

      Galli NO emite frases más propias de un comercial… no es su estilo. Pero esa frase sí que parece de un comercial.

  • user

    Hombre eso de que reddit es un clon de digg… más quisiera digg

    • Anonymous

      +1000 :-D

  • yomismo

    Muy buen post sobre todo porque recoges muchas soluciones que otros han tomado, y como meneame no está diseñado para fallar, al igual que muchas ( muchísimas ) otras aplicaciones. Pero como tu mismo has dicho, a menos que diseñes la infraestructura para no fallar o ser tolerante a fallos ( cosa cara ), es la aplicación la que siempre ( haya nube o no ) debe estar preparada. Si Amazon ha tardado dos días en solucionar esto no me imagino lo que habría tardado Arsys! Desde meneame también se ha notado ( externamente ) cierta pasividad: esperamos a que Amazon lo resuelva. No creo que este caso aislado deba ser un efecto huída, ya que incluso con este fallo Amazon es infinitamente mejor a cuaqluier otra solución. Y mientras que otros proveedores habrían tardado mucho más o habrían restaurado una vieja copia de seguridad, Amazon ha dejado las cosas como estaban. Si la infraestructura de meneame hubiera estado replicada en caliente en otros centros ( repito, caro ) esto no habría pasado. Nadie garantiza un 100% de uptime, y eso lo sabemos todos, por lo que no podemos echar pestes de Amazon ni de cualquier otro proveedor de hosting en estos casos aunque sea una enorme putada. Que queremos más fiabilidad? Pues tendremos que pasar por caja… Es lo que hay! Sigo creyendo y confiando en Amazon como la mejor solución en el mercado ahora mismo.
    Por otra parte, para mi el concepto nube no debería quedarse en un sólo datacenter y es lo que no termino de entender. Amazon ofrece una mininube, es decir, acceso a infraestructuras a las que antes no podríamos acceder por un precio ridículo, pero si hablamos de la nube con propiedad, no deberían ser estos servicios replicados en caliente de forma automática para evitar estas situaciones? Yo pagaría por ello. ustedes que opinan?

  • http://www.vayafail.com fail

    La verdad es que se ha liado gorda con la tontería xD

  • http://www.comunidadhosting.com/ Jaime.co

    Hola Diego,

    Me ha gustado tu artículo. Gracias por compartir tus opiniones.

    También estoy de acuerdo contigo en que la mejor propaganda, queriéndolo o no, que ha podido tener Amazon en España es la que ha hecho Ricardo Galli al mover Menéame hacia allí y detallando su experiencia en sendas entradas en su blog personal.

    Y puede que me equivoque pero…

    1. Creo que el trágico evento del fin de semana anterior no le va a hacer ni cosquillas a Amazon, ni en imagen ni en ventas. Tendrían que ocurrir muchos eventos similares en un corto periodo de tiempo para que el gigante del cloud llegase a tambalear.

    2. Creo que Menéame seguirá hospedado en Amazon in saecula saeculorum, a menos, claro, que ocurra lo que comenté en el punto 1.

    Y espero equivocarme. Eso demostraría que de vidente y futurista tengo bien poco. :)

    Un saludo!

    @japersonal:disqus

    • Anonymous

      No se hasta que punto afectará esto a la imagen de Amazon. Sinceramente, creo que quien ha fallado es Menéame. Pero me temo que e l Dr. Galli no admitirá que el problema lo ha generado él, no la tecnología. 

      El impacto de imagen de Menéame es muy grande, aunque su uso dentro de la plataforma Amazon es ínfimo. No se… te puedo asegurar que la mayoría de las búsquedas que llegan a este blog buscan referencias de arquitecturas en Amazon y casos de éxito en Amazon. Docenas todos los días. La reputación online cuenta hoy en día mucho, sin duda. Menéame ayudaba a esa reputación online de Amazon. Ya no.

      Veremos si salen de Amazon. El lock-in de Amazon es grande, pero la arquitectura de Menéame es supersimple… no debe haber ningún problema para llevártela a otro sitio.

      No te preocupes por lo de ser vidente: lo malo de escribir en blogs es que luego todo queda, y al cabo de los años dices, “¡Dios! ¿De verdad yo escribí eso?

  • Miguel Hinojosa

    Muy buen post, además que a pie a otras discuciones acerca de la altan disponibilidad.  Concuerdo con los que me preceden, como es posible que una solución de cloud computing tenga instalaciones en un solo lugar. Tomar un servicio así donde se requiere alta disponibilidad debe también tener marcado un sello rojo de Riesgo con el proveedor.
    El impacto no solo econoómico, sin también en cuanto a imagen y credibilidad de las compañías es algo que aveces se toma  muy por encima en el análisis.