Live data from Hacker News

We reduced the cost of building Mastodon at Twitter-scale by 100x

blog.redplanetlabs.com

61–70 of 376 posts

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#61
"We spent nine person-months building our scalable Mastodon instance. "

Nono, you can't say that when later on you say it's built on top of Rama. You literally spent 10 years building the framework to even make this.

And yes, you built this in 10k lines of code but how many lines of code is Rama? This seems disingenuous.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#62

Earlier quoted context omitted.

Actually if you read the article you can see we tested way above Twitter-scale. We can easily run this instance at full Twitter-scale by just paying for more servers. The point isn't the Mastodon instance, but rather that Rama enabled us to build it at scale with in a tiny amount of code and time.

Mastodon and Twitter don't do the same amount of work per post. Mastodon doesn't have a recommendation engine, they don't have an advertising engine, they don't scan every post for CSAM, there's no global search, etc. (Some of these things are good not to have, but they still drastically change the scope.) Claiming to have enabled significant scaling of a Mastodon/ActivityPub-compatible instance is fine. Claiming to…

That's why we're comparing it to the cost of Twitter's original consumer product. As a demonstration of Rama, we scoped this project to the entirety of Mastodon which is roughly equivalent to Twitter's original consumer product (actually, it's probably greater in scope with additional features like hashtag follows and more complex filter/mute capabilities).

All those use cases you listed absolutely can be implemented with Rama, and Rama's extreme cost benefits would apply to those as well.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#63
post #14

Hmmm, "Rama is programmed entirely with a Java API – no custom languages or DSLs" according to the landing page, but this sure looks like an embedded DSL for dataflow graphs to me - Expr and Ops everywhere. Odd angle to take.

Odd thing to split hairs over.

When someone makes a distinction that you don't immediately appreciate, maybe don't just dismiss it as splitting hairs, as if the world was a simple place.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#64
post #11

I would argue that this is not "a Mastodon instance", since it is not running Mastodon - other than that, very very neat work! I'm excited for that "Source Code" link to be live :)

Yeah, I think this is just an ActivityPub server that supports the Mastodon extensions, right? I think we should embrace the fact that the federated world can be diverse, rather than just call everything "Mastodon"

Mastodon has it's own API. It basically offers a very limited ActivityPub API too, but it's own API is very different.

And it's a very slim ActivityPub inplementation. For example, I don't think you can do basic things like get an individual post in ActivityPub. This should be easy simple json-ld to get but it's just 404. https://www.w3.org/TR/activitypub/#retrieving-objects

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#65
post #51

Earlier quoted context omitted.

You're missing the point. Rama is a generic platform that provides a new baseline for how expensive it is to build applications at scale. There's nothing about Rama specific to social networks. What we're showing is that Rama creates a new era in software engineering where the cost of building applications at scale is radically reduced. With Rama, anyone embarking on a new application today has a radically different…

> What we're showing is that Rama creates a new era in software engineering where the cost of building applications at scale is radically reduced. Bold of you to come to HN with the breathless hyperbolic marketing fluff that may work on Twitter...

I think we provided a ton of substance backing up that claim, and we will provide even more next week when we release the build of Rama that anyone can use and its corresponding 100k words of documentation.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#66

> We spent nine person-months building our scalable Mastodon instance. + the time spent creating Rama, the platform that enables it. Very dishonest leaving that out.

You're missing the point. Rama is a generic platform that provides a new baseline for how expensive it is to build applications at scale. There's nothing about Rama specific to social networks. What we're showing is that Rama creates a new era in software engineering where the cost of building applications at scale is radically reduced. With Rama, anyone embarking on a new application today has a radically different…

If I grasp the essence of Rama:

- "Depots" are event streams (for event sourced data repositories)

- ETL read one or more streams and project them to indexable read models...

- Which read models are called "PStates" and represent nested combinations of indices like hashtables, b-trees, linked lists and so on. The point of those being they have the data in fast to query way.

- And you have query engine which splits a query into 1+ index sub-queries and then aggregates.

Am I missing something, this seems relatively standard event-sourced / CQRS-like architecture, but streamlined to avoid redundancy and reimplementation of common abstractions.

It would've helped if the terms were less obscure than "depots" and "PStates".

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#67

What one finds useful from a web application and what the web application actually is are usually two entirely different things. I work in marketing automation, and I guess I have in one way or another my entire career. The clients who need to use the platform to communicate with their own clients over social networking may never touch our print delivery system, but that doesn't mean that print delivery doesn't exist…

Not sure what you're talking about as we implemented the entirety of Mastodon from scratch.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#68

I would argue that this is not "a Mastodon instance", since it is not running Mastodon - other than that, very very neat work! I'm excited for that "Source Code" link to be live :)

Mastodon-compatible or Mastodon clone... If it quacks and walks like a duck, surely it is part of the aviary family of microblogging services...

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#69
> The instance has 100M bots posting 3,500 times per second at 403 average fanout to demonstrate its scale.

Mastodon has to send messages to each instance with a recipient. That server can then fan out to all it's subscribers. The way this point is worded makes me think all the bits are on just a single instance, meaning all the fan out can be dealt with internally without having to do any server-to-server at all.

That is a fair comparison to Twitter, which is single instance. But it sounds like a much reduced ambition versus the task Mastodon has to do.

Re: We reduced the cost of building Mastodon at Twitter-scale by 100x

#70

ctrl+f "ads" ctrl+f "monetization" ctrl+f "moderation" ctrl+f "existing infrastructure" ctrl+f "personalization" etc etc Yeah about what I expect from a "we rebuilt twitter for cheap" post. There's no point to the comparisons with the Twitter codebase size/cost. It completely distracts from what is probably a perfectly fine project.

That's a fair criticism - this isn't an apples-to-apples comparison. What I find interesting about this is the cost of running the service. Being able to run a twitter-like thing on a hundred or so large aws instances is neat and I'm sure that many folks here dream of that kind of efficiency at their day jobs, but I'm more excited about how this scales down. Can you run a community of a thousand or so posters on a micro or nano instance for a few bucks a month or less? At that scale and cost, donations should easily be able to cover hosting fees and you would surely be able to deputize enough mods to keep things civil (for whatever definition of civil your instance lands on). Ads, monetization, personalization are non-issues (well, not major issues) at that scale.
Post reply on HN