3 ms·
Making a Twitter clone that could handle 10 users is indeed quite trivial. Making one that would handle 0.4M+ users is not.
by rl1987 4y ago
Making a Twitter clone that could handle 10 users is indeed quite trivial. Making one that would handle 0.4M+ users is not.
- DeathArrow 4y agoNot really. Twitter is really a very simple messaging system with messages being public. If you take some pub sub like Kafka, Nats or RabbitMQ and bolt some code into it, it really is trivial. You scale by using Kubernetes for services and by sharding and replicating the DBs. It's really easy these days. Maybe it was more complicated in 20 years ago.
- rl1987 4y agoThis is pretty much like saying that Dropbox can be trivially replicated with rsync(1) or that one can code Uber in a weekend. Perhaps you can do so at small scale for yourself and your friends. The essence of Twitter (or Dropbox, or Uber) is indeed quite simple. However there's orders of magnitude more effort that goes into: * Usability * Performance * Stability * Security * Localisation/internationalisation and accounting for cultural differences * Monetisation - ads, payment platform integration, fighting fraud * Fighting abuse, both automated and not * ... and thousands of little things that will come up when building something big. Think of this another way... Twitter would not employ literally thousands of employees if there was nothing for them to do. It is not a charity. I don't buy that building anything that can handle hundred of millions of users is simple.
- mousetree 4y agoThese are all valid points but none speak to GP's comment that the scale aspect is no longer as difficult to solve.
- rl1987 4y agoOne can say that aforementioned classes of problems are semantically, conceptually different from scalability, but they will inevitably come up when building something the scale of Twitter and will require mountains of technical work to deal with.
- parkingrift 4y agoDisagree. Back in 2006 it would have been really hard, but not in 2022. We’ve figured out all sorts of novel ways to scale platforms. I’ll put it another way. Which job would you rather have? Build a scalable Twitter clone? Or operate the business and make money? How do you make sure it’s not an epic cesspool? It’s not an engineering problem.