Twitter se convierte al código abierto para evitar interrupciones de su servicio

Iniciado por wolfbcn, 22 Octubre 2013, 14:00 PM

0 Miembros y 1 Visitante están viendo este tema.

wolfbcn

Evitar interrupciones de su servicio, manteniendo los costes. Este es el objetivo que se ha marcado Twitter y piensa lograrlo con la ayuda de open source. De hecho, la red social ya ha modificado su infraestructura básica utilizando herramientas open source y ha dado un giro fundamental a su arquitectura de sistemas.

¿Qué es lo que hay que hacer cuando se pone en evidencia que existe un problema? Solucionarlo. Esto es precisamente lo que le ocurrió a Twitter y esta semana en LinuxCon Europe, a través de su responsable de informática open source, Chris Aniszczyk, hemos conocido cómo la red social ha adoptado una infraestructura de código abierto para poner fin a las interrupciones de su servicio.
 
Twitter procesa unos 6.000 mensajes por segundo que al día suponen 500 millones de mensajes y 3.500 millones a la semana. En momentos puntuales, de gran actividad por algún evento masivo, ha llegado a alcanzar los 143.000 mensajes por segundo. Este ingente volumen de información supone uno de los principales retos que afronta la compañía, en especial porque desde su origen en 2006 la plataforma descansaba en una aplicación monolítica, denominada Ruby on Rails, y no en una arquitectura distribuida.

Este esquema funcionó muy bien al principio cuando la red social no era un fenómeno masivo, pero ya mostró sus limitaciones en 2008, momento en el que comenzaron a ocurrir interrupciones del servicio de forma sistemática.

La situación fue especialmente problemática durante el mundial de fútbol de 2010. En ese momento, Twitter afrontó su primera crisis de éxito al lograr manejar hasta 3.000 mensajes por segundo, pero con incesantes problemas e interrupciones en los momentos de mayor apogeo, por ejemplo, cada vez que una selección marcaba un gol o se mostraba a un jugador una tarjeta amarilla. "Fue doloroso, porque desde el punto de vista técnico, se hizo todo lo posible", recuerda el responsable de código abierto.

La solución pasaba por ponerle remedio y, tras analizar rigurosamente la situación, decidió que no era posible seguir utilizando el mismo código base para todo, desde gestionar la información en bruto hasta diseñar gráficamente el sitio. "Lo que hacíamos era añadir cada vez más máquinas al problema, lo que no es la mejor solución, resulta muy cara", explica Chris Aniszczyk.

Nueva infraestructura

Twitter llegó a la conclusión de que es necesario invertir en nuevas infraestructuras, pero regresando a JVM (Java Virtual Machine). Esto ha permitido a Twitter romper una sola aplicación monolítica en diferentes servicios, como uno específico para manejar mensajes, detalla el directivo. La ingeniería ahora se estructura en equipos por servicio que operan de forma independiente.

Para reducir costes y el número de máquinas utilizadas, la red social también ha optado por servidores Apache Mesos, que originalmente fueron fruto de la investigación de la Universidad de Berkeley en California. Mesos es un gestor de clústeres que permite a los usuarios ejecutar múltiples procesos en la misma máquina, lo que supone utilizar  el hardware de manera más eficiente y con ahorros de costes. Los cambios se realizaron en torno al mes de agosto pasado, explicó Aniszczyk en el evento de Edimburgo.

Twitter también utiliza otras herramientas, como Netty, diseñada para crear servidores de alto rendimiento, y Scalding, que facilita la escritura de gran cantidad de datos. La compañía no ha podido abandonar completamente el framework de aplicaciones Ruby on Rails, pero estas herramientas, junto con el cambio de su infraestructura central a JVM, han evitado grandes fallos de servicio o rendimiento, señala el directivo.

Una de las lecciones que ha aprendido Twitter es que el código abierto como base de una infraestructura es una buena idea. "Ahí es donde está el mejor software en estos días", llegó a decir el directivo, y añadió que también es reconfortante devolver a la comunidad de código abierto su contribución con twitter.github.io.

Esta decisión de Twitter supone un buen ejemplo de cómo las empresas pueden beneficiarse de la tecnología de código abierto, afirma Jim Zemlin, director ejecutivo de la Linux Foundation. "Se mantienen los costes, a la vez que se detectan las necesidades de escalabilidad de la infraestructura", sostiene.
Muchas empresas, incluyendo grandes conglomerados, como Google, Amazon o Facebook, ya están creando plataformas informáticas hiperescalables de código abierto que aprovecharán las lecciones que ofrece Twitter, concluye Zemlin.

http://www.pcworld.es/redes-sociales/twitter-se-convierte-al-codigo-abierto-para-evitar-interrupciones-de-su-servicio
La mayoria pedimos consejo cuando sabemos la respuesta, pero queremos que nos den otra.