It's easy to underestimate how difficult it is to make a core building block do one thing and do it really good. I mean, Twitter is another frequently cited example; most people with basic software development knowledge could build a Twitter clone in an afternoon, but the challenge is to make it globally and infinitely scalable.
Comparing Twitter and S3 though? Twitter literally epitomized site unreliability with its fail whales for so many years before finally figuring out how to do the one single thing they do reliably, viz. shuffling around a bunch of text messages. As far as big tech goes Twitter looks like the least well managed or thought Out tech stack I can see.
To make sure it’s not interpreted that way, I’m not saying a single guy could create Twitter at its scale in a month, but they do basically one thing and have infinite resources. It’s not that hard.
The real challenge is it to get people to use. I believe that there are no insurmountable technical or organizational problems in scaling a messaging service.