3 pontos por GN⁺ 2023-08-16 | 5 comentários | Compartilhar no WhatsApp
  • A Red Planet Labs desenvolveu do zero uma instância do Mastodon em escala de Twitter com apenas cerca de 10 mil linhas de código
    • Isso é 100 vezes menos do que aproximadamente 1 milhão de linhas de código usadas originalmente pelo Twitter para construir seu produto
  • A instância do Mastodon foi construída sobre uma nova plataforma chamada Rama
    • Rama usa um modelo que integra computação e armazenamento, permitindo construir qualquer backend em qualquer escala com 100 vezes menos código
    • Uma plataforma de uso geral para construir backends de aplicações programados com uma API Java pura
  • A construção levou 9 pessoa-mês, muito mais rápido em comparação com o Twitter, que teria levado cerca de 200 pessoa-ano, e o Threads, 25 pessoa-ano
  • Embora seja muito menor do que a implementação oficial do Mastodon, ela ainda pode escalar para a dimensão do Twitter
  • A Red Planet Labs vai lançar dentro de uma semana uma versão do Rama que qualquer pessoa poderá baixar e usar, e duas semanas depois pretende abrir completamente o código-fonte da implementação do Mastodon
  • A empresa também deve iniciar em breve uma beta privada que dará acesso à versão completa do Rama

Instância Mastodon da Red Planet

  • Hospedada em https://mastodon.redplanetlabs.com e inclui todos os recursos do Mastodon.
  • Para mostrar a escala da instância, a Red Planet Labs opera 100M de contas de bot que publicam continuamente statuses, replies, boosts e favorites
  • A instância do Mastodon consegue processar 100M de bots publicando 3.500 vezes por segundo, demonstrando sua escalabilidade

Rama

  • Composto por 4 conceitos
    • Depot: armazenamento de dados replicado e distribuído
    • ETL: streaming em micro-batches
    • PStates (Partitioned State): indexação universal
    • Query: topologia de consulta
  • O Rama é linearmente escalável, permitindo adicionar recursos conforme necessário, e alcança tolerância a falhas ao replicar todos os dados e implementar failover automático

5 comentários

 
sftblw 2023-08-17

> "Implementamos do zero todos os recursos do Mastodon, incluindo:"

Parece que não é Mastodon. Só pela descrição, parece ser um clone próprio. Acho que a posição é mais de "compatível", parecida com o "Wildebeest" da Cloudflare ou com a implementação open source GoToSocial. E o código-fonte deve ser publicado depois...

O front-end é o soapbox

Acho que a Mastodon gGmbH pode implicar com isso

 
kuroneko 2023-08-17

Tentei resumir isso, mas não consegui entender, então no fim acabei deixando passar...
Achei que seria bom arranjar um tempo depois para entender com calma.

Mas não sei muito bem se isso vai dar dinheiro.

 
xguru 2023-08-17

Eu também tentei ler a parte final com mais atenção, mas o texto não fluía muito bem.
Parece que, independentemente da parte técnica, a documentação não é muito bem feita.
Desde a explicação dos 4 conceitos principais, já dá uma sensação de “hã?” T_T

 
xguru 2023-08-17

Comparar pelo número de linhas de código parece meio forçado... mas com certeza chamou atenção.
Há uma explicação bem longa sobre a plataforma Rama e a implementação interna da própria instância deles.
Acho que só vai dar para saber de verdade quando sair.

 
GN⁺ 2023-08-16
Comentários do Hacker News
  • O artigo discute a redução de custos e da complexidade do código ao escalar a rede social Mastodon em 100 vezes até chegar ao porte do Twitter.
  • Alguns leitores questionam a comparação entre as 10 mil linhas de código do Mastodon e cerca de 1 milhão de linhas de código do Twitter, argumentando que o número de funcionalidades é muito menor e que adicionar recursos como suporte distribuído em tempo real a vídeo em grande escala aumentaria bastante a base de código.
  • Há ceticismo em relação à afirmação de que 100M de bots publicando 3.500 vezes por segundo demonstrariam a escala, e alguns leitores sugerem que isso não é suficiente e questionam se esse número é por bot ou no total.
  • Alguns leitores têm dificuldade para entender os detalhes técnicos do post, observando que ele presume uma base de conhecimento compartilhada e precisa de explicações e comparações mais claras.
  • Há questionamentos sobre medir a “escala do Twitter” pela quantidade de tuítes por segundo, e alguns leitores sugerem que um indicador mais realista seria o número de atualizações por segundo entregues aos usuários finais que seguem esses tuítes.
  • O post é elogiado pelos insights detalhados e pela abstração que reduz a complexidade do desenvolvimento moderno de apps a uma mistura de estruturas de dados.
  • Alguns leitores expressam preocupação com a proposta de que desenvolvedores dependam, para todas as funcionalidades, de uma plataforma proprietária de código fechado de uma startup, assumindo o risco de mudanças ou interrupções.
  • Há confusão sobre se os 10 anos gastos para construir a plataforma Rama deveriam incluir o tempo dedicado ao desenvolvimento do demo técnico.
  • Alguns leitores demonstram entusiasmo com a documentação do Rama que será lançada em breve, mas também expressam preocupação com a proposta de um novo paradigma de programação.
  • O desempenho da instância de Mastodon usada como exemplo é elogiado por sua boa responsividade, mas é apontado que ela não implementa busca em texto completo a menos que o usuário seja marcado.