Cool to see that they use Stripes as their Java web framework. Stripes doesn't get anywhere near the attention/respect it deserves. It's definitely the simplest, most easy-to-use framework in the Java space IMO.
I may have missed this, but I didn't see anything indicating Evernote has any off-site redundancy, in case of earthquake disruption. The Evernote "Architectural Digest" blog entry linked in the OP says "All of these servers are racked in a pair of dedicated cages at our data center in Santa Clara, California." (I've been a paid Evernote subscriber for a couple of years or so.)
User data is stored on four different enterprise drives across two different physical servers. Nightly backups copies data over a dedicated 1Gbps link to a secondary data center.
This kinda scares me. Is this a real backup going to removable storage stored in a secure backup facility? If it's being synced via a dedicated line, why is it nightly instead of continuous? And if those four drives are the only source for production user data, isn't it likely a storm of writes could cause a severe bottleneck? (assuming SCSI drives, ~200 ops * 4 = 800 ops total, or with SSDs, 2400 ops... will they ever write more than 2400 times a second?)
Also, an extra layer (memcached) in front of mysql for caching requests could save them lots of nodes if reads are dragging down performance/requiring more nodes to spread read load.
Evernote shard their 9.5 million total users across 90 shards, where each shard is represented by two of the four or four drives in a mirrored RAID.
Also, they are using Ehcache as their object-caching layer, which we can assume is their alternative to memcached. The choice between the two probably coming down to sticking to their Java stack.
I'm sure we'll here more in the promise of future articles focusing more on individual subsystems, as the article is pretty shallow in connecting the dots.
150 million requests per day is just under 2 requests a second... 100k users/shard is also hardly impressive even if you account for 2x or 3x replication.
I hate to sound like a dick, but anyone who has dealt with large scale web apps would consider this a starting point, not worthy of a architecture presentation.
EDIT: Ah ha. Having never used Evernote before, they didn't make it very clear that they are essentially trying to build a SAN. I assumed they were storing plain text notes like stickies.