But PHP and MySql are only the surface level tools we see.
There is also the unseen and that's where the immense complexity lies hidden under the surface.
E.g. To help with scaling (which Friendster failed at), Facebook had separate MySql instances for each school. An interview with Facebook co-founder Dustin Moskovitz mentioned they had constant stress of emergencies and fires to put out. They had tons of custom tooling, Linux scripts, batch jobs, automation/orchestration/dashboard, etc and it's very likely the combination of all that ends up inventing an "invisible internal Kubernetes" without calling it "Kubernetes" to manage their server fleet. In other words, if Docker/Kubernetes/AWS were around, the early Facebook team might have offloaded some of the complexity onto a 3rd-party to reduce the all-nighters. But the tools didn't exist yet so they had to do it the hard way and invent "deployment orchestration" themselves.
[EDIT to reply]
Thanks for the "Tupperware" comment. A Google search leads to a Facebook post saying they renamed it to "Twine":
https://engineering.fb.com/2019/06/06/data-center-engineerin...
No, even before the Newsfeed feature rollout of September 2006, they already had crazy complexity orchestrating multiple servers for many schools. They were only a "simple PHP+MySql" website when it was February 2004 with only Harvard students on it. Dustin said he was the one in charge of spinning up new servers for each new school and he said it was a nightmare of engineering effort.
But the point still remains, they had challenges to solve, but they were also simple, which made it possible TO solve those challenges.
They probably could have done most of America on a single server.
For example, even in 2009 Stack Overflow was running off two dedicated servers:
https://stackoverflow.blog/2009/01/12/new-stack-overflow-ser...
Maybe it was used internally before that. So they got pretty far from "normal PHP" relatively early.
Isn't Facebook known for hiring top world experts such as the likes of Andrei Alexandrescu to hyperoptimize all the way down their whole stack?
That hardly sounds like running vanilla PHP with your generic nem ache and mysql.
And how do you exactly think they get so many 9s in their reliability? Is this plausible with the "a single linode box ought to do" nonsense?
A hacker got ahold of their "index.php" in 2007:
https://gist.github.com/nikcub/3833406
It is decidedly not a tour-de-force of technical prowess, just typical old school "bag of functions in the same namespace" PHP.