I often argue that the toughest thing about distributed systems is changing the way you think. The below is a collection of material I've found useful for motivating these changes.
Ramblings that make you think about the way you design. Not everything can be solved with big servers, databases and transactions.
Somewhat about the technology but more interesting is the culture and organization they've created to work with it.
Current "rocket science" in distributed systems.
Interesting they dumped most of J2EE and use a lot of db partitioning. Check out their site upgrade tool as well.
Key to building systems that suit their environments is finding the right tradeoff between consistency and availability.
Papers that describe various important elements of distributed systems design.
Issues of distributed systems construction with specific technologies.
Understanding this algorithm is the challenge. I would suggest reading "Paxos Made Simple" before the other papers and again afterward.