3 ポイント 投稿者 GN⁺ 2023-08-16 | 5件のコメント | WhatsAppで共有
  • Red Planet Labsが約10,000行のコードだけで、Twitter規模のMastodonインスタンスをゼロから開発
    • これはTwitterが元の製品を構築するのに使った約100万行のコードと比べて100分の1以下
  • MastodonインスタンスはRamaという新しいプラットフォーム上に構築
    • Ramaは計算とストレージを統合するモデルで、100分の1のコード量であらゆる規模のバックエンドを構築可能
    • 純粋なJava APIでプログラミングする、アプリケーションバックエンド構築のための汎用プラットフォーム
  • 構築には9人月を要した。Twitterは約200人年、Threadsは25人年とされており、それらと比べてはるかに高速
  • Mastodon公式実装よりもはるかに小さいが、Twitter規模までスケール可能
  • Red Planet Labsは1週間以内に、誰でもダウンロードして使えるRamaのバージョンをリリースし、2週間後にはMastodon実装を完全にオープンソース化する予定
  • 同社はまもなく、Ramaのフルバージョンへのアクセスを提供するプライベートベータを開始する予定

Red PlanetのMastodonインスタンス

  • https://mastodon.redplanetlabs.com でホストされており、Mastodonのすべての機能を備えています。
  • インスタンスの規模を示すため、Red Planet Labsはステータス、返信、ブースト、お気に入りを継続的に投稿する1億のボットアカウントを運用中
  • Mastodonインスタンスは、1億のボットによる毎秒3,500件の投稿を処理でき、そのスケーラビリティを実証

Rama

  • 4つのコンセプトで構成
    • Depot : 分散レプリケーションデータストア
    • ETL : マイクロバッチストリーミング
    • PStates(Partitioned State): ユニバーサルインデキシング
    • Query : クエリトポロジー
  • Ramaは線形にスケール可能で、必要に応じてリソースを追加でき、すべてのデータを複製し自動フェイルオーバーを実装することで耐障害性を実現

5件のコメント

 
sftblw 2023-08-17

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

Mastodonではないようですね。説明だけを見ると独自クローンのようです。Cloudflareの"Wildebeest"や、オープンソース実装のGoToSocialに近い、「互換性がある」立ち位置のようです。ソースは公開予定とのことです……

フロントエンドはsoapboxですね

Mastodon gGmbHからツッコミが入るのではないかという気がしますね

 
kuroneko 2023-08-17

これを要約してみようとしたものの理解できず、結局パスしましたが...
あとで時間を取って、ゆっくり理解してみるとよさそうだなと思いました。

でも、あれが儲かるのかどうかはよく分かりません。

 
xguru 2023-08-17

私も後半をもう少し詳しく読んでみようと思ったのですが、文章があまり頭に入ってきませんでした。
技術とは別に、ドキュメント化はあまり得意ではないように感じます。
重要な4つのコンセプトの説明からして、なんだか「え?」となってしまって……

 
xguru 2023-08-17

コード行数で比較するのはちょっと無理がある気がしますが……注目を集めることには確かに成功していますね。
Ramaプラットフォームおよび自分たちのインスタンスの内部実装について、かなり冗長な説明が付いています。
実際に出てきてみないと分からない気がします。

 
GN⁺ 2023-08-16
Hacker Newsの意見
  • 記事は、MastodonというソーシャルネットワークをTwitter規模まで100倍に拡張する際のコストと、コード複雑性の削減について論じている。
  • 一部の読者は、Mastodonの1万行のコードとTwitterの約100万行のコードの比較に疑問を呈し、機能数がはるかに少なく、大規模な分散リアルタイム動画対応のような機能を追加すれば、コードベースは大幅に増えるだろうと主張している。
  • 1億のボットが毎秒3,500回投稿して規模を示すという主張には懐疑的な見方があり、一部の読者はそれでは十分ではないと示唆し、それがボットごとなのか総計なのかを疑問視している。
  • 一部の読者は、投稿の技術的な詳細を理解するのに苦労しており、その投稿は共有された知識基盤を前提にしているため、より明確な説明や比較が必要だと提案している。
  • 「Twitter規模」の測定が1秒あたりのツイート数で行われていることに疑問を呈し、一部の読者は、ツイートをフォローするエンドユーザーに対する1秒あたりの更新数のほうが、より現実的な指標だと提案している。
  • この投稿は、詳細な洞察と、現代のアプリ開発の複雑さをデータ構造の組み合わせへと縮約する抽象化について称賛されている。
  • 一部の読者は、開発者が変更や中断のリスクを負いながら、あらゆる機能についてスタートアップのクローズドソースプラットフォームに依存するという提案に懸念を示している。
  • Ramaプラットフォームの構築にかかった10年が、技術デモの開発に費やされた時間に含まれるべきかどうかについて混乱がある。
  • 一部の読者は、まもなく公開されるRamaのドキュメントに期待を示す一方で、新しいプログラミングパラダイムの提案に対する懸念も表明している。
  • 例として挙げられたMastodonインスタンスの性能は、応答性が高い点で称賛されているが、ユーザーがタグ付けされない限り全文検索を実装していない点が指摘されている。