"Pinterest has learned about scaling the way most popular sites do — the architecture works until one day it doesn’t"Pinterest found out that "the architecture" is not scalable and they turned to development of a Scale Out mechanism also called Sharding.
I find it amazing that sharding, or in other words, the idea of "scale out by splitting and parallelizing data across shared-nothing commodity-hardware" is not supplied "out of the box" by "the architecture" (such as database, load-balancer, any other IT stuff). I'm wondering who was the one that decided that an IT issue like scale-out should be outsourced from the database to the application developers?...
When was the last time you heard about a PHP or Ruby developer wrote code to enable Scale Out. NEVER!Scale Out in the application layer is enabled easily by a magical box called a load balancer, and you can get one from F5 or wherever for a low 4 digit USD. Commodity!