Cambios en la arquitectura de Twitter: ¿acierto o desacierto?

En aplicaciones con arquitecturas complejas hiper escalables, cualquier cambio puede tener un gran impacto y debe realizarse con sumo cuidado

A tan solo días para cerrar 2022, Twitter se convirtió en el tema de conversación de los principales portales de tecnología debido a su polémica adquisición por parte del empresario multimillonario Elon Musk. La compra incluyó cambios estructurales dentro de la compañía y, además, transformaciones profundas en la arquitectura backend de la plataforma, a fin de mejorar su desempeño y velocidad. Todo esto fue anunciado por el propio CEO, a través de un tweet.

Lo curioso del anuncio fue que, al poco tiempo de haberse producido y difundido en los principales portales de tecnología, la plataforma comenzó a experimentar fallas en la disponibilidad, haciendo que miles de usuarios reportaran no tener acceso a la red social o ver mensajes de error, al intentar cargar la página. Contrario a las promesas de mejora, estas decisiones solo parecieron impactar negativamente en la compañía.

Cuáles fueron los posibles updates realizados a la arquitectura de la app, y cómo este caso podría habilitar soluciones a los problemas que atraviesan las empresas de tecnología en la actualidad, es algo que quienes están en la industria de la arquitectura de software trabajan cotidianamente.

El anuncio de Elon Musk en su cuenta de Twitter

Para comprender un poco más de lo que pudo haber sucedido con Twitter, es esencial entender que, en los sistemas donde el frontend es lo que el usuario final percibe como punto de acceso a la funcionalidad soportada, el backend son todos los componentes que habilitan las funcionalidades de éste, y que permiten que las interfaces expuestas desde el front puedan existir de manera robusta, controlada y siguiendo los atributos de calidad. A su vez, también es ahí donde típicamente se implementa la lógica de negocio y la persistencia de los datos, que hacen que el sistema funcione.

Este año, el negocio de las redes sociales continúa una fase de reinvención, a pedido de los mismos usuarios, cuyas necesidades de consumo parecen estar muy alejadas de lo que las plataformas actuales ofrecen. Factores como el paso del tiempo, el cambio en el modo de uso, las transformaciones en el contexto y la misma evolución de las tecnologías impactan significativamente en las decisiones operativas de las empresas del sector.

En aplicaciones con arquitecturas complejas hiper escalables, como lo es Twitter, cualquier cambio puede tener un gran impacto y debe realizarse con sumo cuidado. De lo contrario podría significar caídas en la plataforma, retrasos en los servicios que brinda la aplicación y, en el peor de los casos, la pérdida definitiva de usuarios.

Aunque este tipo de fallas ocurren y seguirán ocurriendo con la adopción de nuevas y más avanzadas tecnologías, lo que llama la atención en este caso es que, lo que probablemente haya tenido que ver con un cambio en el core de la aplicación, o bugs en la infraestructura backend, pueda marcar un precedente a la vista del mundo de cómo los que alguna vez fueron pioneros en el rubro de la comunicación, también se ven afectados por la constante transformación del mercado.

En este tipo de escenarios, sobre todo con la magnitud de una empresa como Twitter, se hace fundamental contar con un equipo de arquitectura de software. Están probados los beneficios de diseñar e implementar una arquitectura distribuida, desacoplada, donde las posibles fallas sean rápidamente aisladas del resto de los componentes, y la escalabilidad y observabilidad estén incorporadas al diseño desde un primer momento. También se recomienda conocer la arquitectura actual del sistema y detectar posibles puntos de mejora, diseñando una arquitectura objetivo, para finalmente trazar un roadmap que permita ir alcanzando la misma.

En general, pensar los cambios con visión de arquitectura, teniendo en cuenta el análisis de impacto adecuado. En lo particular, explotar prácticas de canary deployment, A/B testing o chaos engineering, que permitan evoluciones del sistema sin que la estabilidad del mismo sea afectada de manera profunda.

Si de algo se puede estar seguro es que el mundo de las aplicaciones continuará navegando territorios inexplorados con la definitiva adopción de la web3 y la descentralización de los servicios. Por lo que, compañías como Twitter, Amazon o Meta, deberán repensar sus modelos de negocio e incluso, asumir retos que nunca antes fueron planteados.

¿Está el mundo digital realmente listo para esta nueva era de la internet?