3 puntos por GN⁺ 2023-08-16 | 5 comentarios | Compartir por WhatsApp
  • Red Planet Labs desarrolló desde cero una instancia de Mastodon a escala de Twitter con apenas unas 10,000 líneas de código
    • Eso es 100 veces menos que aproximadamente 1M de líneas de código que Twitter usó originalmente para construir su producto
  • La instancia de Mastodon fue construida sobre una nueva plataforma llamada Rama
    • Rama es un modelo que unifica cómputo y almacenamiento, y permite construir cualquier backend a cualquier escala con 100 veces menos código
    • Una plataforma de propósito general para construir backends de aplicaciones programados con una API pura de Java
  • La construcción tomó 9 persona-mes, mucho más rápido en comparación con Twitter, que habría requerido ~200 persona-año, y Threads, 25 persona-año
  • Aunque es mucho más pequeña que la implementación oficial de Mastodon, puede escalar a tamaño Twitter
  • Red Planet Labs lanzará dentro de una semana una versión de Rama que cualquiera podrá descargar y usar, y dos semanas después planea abrir por completo el código fuente de su implementación de Mastodon
  • La empresa también planea iniciar pronto una beta privada que dará acceso a la versión completa de Rama

Instancia de Mastodon de Red Planet

  • Está alojada en https://mastodon.redplanetlabs.com e incluye todas las funciones de Mastodon.
  • Para mostrar la escala de la instancia, Red Planet Labs opera 100M de cuentas bot que publican continuamente estados, respuestas, boosts y favoritos
  • La instancia de Mastodon puede procesar 100M de bots publicando 3,500 veces por segundo, lo que demuestra su escalabilidad

Rama

  • Está compuesta por 4 conceptos
    • Depot : almacén de datos replicado y distribuido
    • ETL : streaming por micro-lotes
    • PStates (Partitioned State): indexación universal
    • Query : topología de consultas
  • Rama puede escalar linealmente, agregar recursos según sea necesario y lograr tolerancia a fallos mediante la replicación de todos los datos y la implementación de failover automático

5 comentarios

 
sftblw 2023-08-17

> "We’ve implemented every feature of Mastodon from scratch, including:"

No parece Mastodon. Solo por la descripción, parece más bien un clon propio. Da la impresión de que su posición es la de ser "compatible", similar a "Wildebeest" de Cloudflare o la implementación open source GoToSocial. Y al parecer planean publicar el código fuente...

El frontend es soapbox

Me pregunto si Mastodon gGmbH no les va a poner alguna objeción.

 
kuroneko 2023-08-17

Intenté resumir esto, pero no lo entendí, así que al final lo dejé pasar...
Pensé que estaría bien hacerme tiempo más adelante para entenderlo con calma.

Pero no sé muy bien si eso vaya a generar dinero.

 
xguru 2023-08-17

Yo también intenté leer con más detalle la segunda mitad, pero el texto no se dejaba leer muy bien.
Siento que, aparte de la tecnología, no se les da muy bien la documentación.
Desde la explicación de los 4 conceptos importantes ya te quedas como de "¿eh?", así que 😢

 
xguru 2023-08-17

Compararlo por cantidad de líneas de código parece un poco forzado... pero sin duda llamó la atención.
Viene con una explicación larguísima sobre la plataforma Rama y la implementación interna de su propia instancia.
Creo que habrá que verlo en la práctica para saberlo.

 
GN⁺ 2023-08-16
Comentarios de Hacker News
  • El artículo analiza la reducción de costos y complejidad del código al escalar la red social Mastodon 100 veces hasta alcanzar una escala tipo Twitter.
  • Algunos lectores cuestionan la comparación entre las 10 mil líneas de código de Mastodon y aproximadamente 1 millón de líneas de código de Twitter, y sostienen que Mastodon tiene muchas menos funciones, y que agregar capacidades como soporte de video distribuido en tiempo real a gran escala aumentaría considerablemente la base de código.
  • Hay escepticismo sobre la afirmación de que 100M de bots publican 3,500 veces por segundo como muestra de escala; algunos lectores sugieren que eso no es suficiente y se preguntan si esa cifra es por bot o en total.
  • A algunos lectores les cuesta entender los detalles técnicos de la publicación, y sugieren que asume una base de conocimiento compartida y que necesita explicaciones y comparaciones más claras.
  • Se cuestiona que la medida de la “escala tipo Twitter” sea la cantidad de tuits por segundo; algunos lectores sugieren que una métrica más realista sería la cantidad de actualizaciones por segundo que reciben los usuarios finales que siguen esos tuits.
  • La publicación recibe elogios por sus ideas detalladas y por una abstracción que reduce la complejidad del desarrollo moderno de aplicaciones a una combinación de estructuras de datos.
  • Algunos lectores expresan preocupación por la propuesta de que los desarrolladores dependan de una plataforma cerrada y propietaria de una startup para todas las funciones, asumiendo el riesgo de cambios o interrupciones.
  • Hay confusión sobre si los 10 años que tomó construir la plataforma Rama deberían incluirse en el tiempo dedicado a desarrollar la demostración técnica.
  • Algunos lectores expresan entusiasmo por la documentación de Rama que será publicada pronto, pero también preocupación por la propuesta de un nuevo paradigma de programación.
  • El rendimiento de la instancia de Mastodon usada como ejemplo recibe elogios por su buena capacidad de respuesta, aunque se señala que no implementa búsqueda de texto completo salvo cuando el usuario es etiquetado.