Justin.tv's Live Video Broadcasting Architecture (2010)
I worked at Twitch from 2014 to 2018. I was never on the video team, but here are some details that have changed.Video:- Everything is migrated from RTMP to HLS; RTMP couldn't scale across several consumer platforms- This added massive delay (~30+s) early on, the video team has been crushing it getting this back down to the now sub-2s- Flash is dead (now HTML5)- F5 storms ("flash crowds") are still a concern teams design around; e.g. 900k people hitting F5 after a stream blips offline due to the venue's connection- afaik Usher is still alive and well, in much better health today- Most teams are on AWS now; video was the holdout for a while because they needed specialized GPUs. 
EDIT: "This isn't quite right; it has more to do with the tight coupling of the video system with the network (eg, all the peering stuff described in the article)" -spenczar5- Realtime transcoding is a really interesting architecture nowadays (I am not qualified to explain it)Web:- No more Ruby on Rails because no good way was found to scale it organizationally; almost everything is now Go microservices back + React front- No more Twice- Data layer was split up to per-team; some use PostgreSQL, some DynamoDB, etc.- Of course many more than 2 software teams now :P- Chat went through a major scaling overhaul during/after Twitch Plays Pokemon. John Rizzo has a great talk about it here: https://www.twitch.tv/videos/92636123?t=03h13m46sTwitch was a great place to spend 5 years at. Would do again.