6 ms·
WhatsApp is not a good example. They ran a high scale messaging service with a very lean team. There are some interesting challenges there.
by brian-armstrong 10y ago
WhatsApp is not a good example. They ran a high scale messaging service with a very lean team. There are some interesting challenges there.
- falsedan 10y agoAll infrastructure, all solved many times many years before. The challenge is usually choosing a solution which can be adapted to match the unchangable assumptions of the non-scaled code (or removing those assumptions).
- beagle3 10y agoAre you familiar with whatsapp or just making a general remark? Whatsapp at 20 engineers delivered service to an audience comparable to Twitter, except with 1/100 the manpower (and hardware) and a couple of 9s more in reliability. They patched FreeBSD and Erlang to get there in the process. it's a problem that was solved many times before, but not successfully at this scale or cost. These are not your run-of-the mill CRUD developers.
- mastazi 10y agoAlso, I remember reading that the initial Whatsapp team had a much higher median age compared to most startups [1], so I agree that it's not a good example here. [1] https://medium.com/the-story-of-grip/5-things-every-founder-can-learn-from-the-story-of-whatsapp-b6496bc4f54d#.h2vy9rvs2 https://medium.com/the-story-of-grip/5-things-every-founder-...
- falsedan 10y ago> it's a problem that was solved many times before, but not successfully at this scale or cost I'm not familiar with the scale+cost of every every bank, stock exchange, flight search, messaging app, log transport system, telco CDR matching infra, etc. Can you comment re: similar scale/cost projects? > They patched FreeBSD and Erlang Neither of these are distributed systems, which I think is the interesting challenge part of messaging. Do you have a link for this whatsapp info? It sounds like you got a lot of good information from it that others could benefit from by reading.
- dahauns 10y ago> Neither of these are distributed systems On the contrary - Erlang and its runtime were built from the ground up for use in distributed systems.
- falsedan 10y agoBut it's not a distributed system: you use it to implement distributed systems. Each runtime is present on a single host & it provides some well-defined methods for RPC. Your application has to be aware of this to take advantage of it.
- falsedan 10y agoHi downvoters, Wow! I didn't know that asking for more information was frowned upon on HN! Here's me pointedly not asking for links to the HN commenting guidelines. -- falsedan
- otterley 10y agoHere's a great talk from Rick Reed (a former mentor of mine at Yahoo!) about how WhatsApp scaled their Erlang infrastructure: https://vimeo.com/44312354 https://vimeo.com/44312354 Here's another talk: https://www.youtube.com/watch?v=c12cYAUTXXs https://www.youtube.com/watch?v=c12cYAUTXXs
- dahauns 10y agoWhatsapp is indeed a bad example for 'Code monkeyism', since it's quite the opposite. The Whatsapp guys were smart enough to think about using the right tool for the right job in the first place, i.e. stuff like Erlang - which has been tried and tested for scenarios like this for decades - and applied it to a modern infrastructure. Twitter OTOH was built with Ruby on Rails... That's more like a fitting example. :)
- bluedino 10y ago>> Whatsapp at 20 engineers delivered service to an audience comparable to Twitter, except with 1/100 the manpower (and hardware) Twitter isn't really comparable to WhatsApp. How many people read a tweet compared to a WhatsApp message.
- beagle3 10y agoOn average, each tweet is read by about one person, and an average whatsapp message is read by one than more person. There are tweeter messages that are read by millions, but they are offset by many tweeter messages read by no one. The average no. of followers of a tweeter account is 1, and 5-10% of all tweeter accounts are bots. The distribution is different, but there are a lot of similarities that warrant comparison.
- overcast 10y agoWhile I agree Twitter's employee base is excessively bloated, comparing the two platforms is not really fair. WhatsApp is a one to one messaging service. Twitter is a one to many messaging service. (that's a BIG difference, by many orders of magnitude)
- golergka 10y agoMost of my Whatsapp inbox is from groups. Also, calls.
- cel1ne 10y agoNot meaning to praise WhatsApp, but infrastructure can by definition never be "solved". Infrastructure is always messy and needs maintenance.
- falsedan 10y agoYes, the challenge with infrastructure is usually, "how do we document the runbook for this?" & "how do we set up the paging schedule?"
- brightball 10y agoI have to agree with the commenter here...a solved problem doesn't get you purchased for $20 billion with closer to $20 million in revenues. WhatsApp is not a good example. There's a reason that company's success drove a huge amount of attention to Erlang, led to the popularity of Elixir and caused a whole lot of experienced developers to look deep enough to go "Holy crap! This solves so many problems!"