Ryan Twomey

Here’s an interesting overview of the LinkedIn architecture.  As a LinkedIn user, it’s fun to see how familiar parts of the service come together; as a web developer, it’s fun to see how a site with millions of users scales was built.

Going through the stats, I’m particularly intrigued to see a couple main points.  First, there’s no ORM.  I’m not particularly surprised, of course: implementing an ORM can hinder scaling, especially in their case, where they’ve partitioned their database in a major way.  Second, the massive amount of data they’re storing in memory (12G).

On top of this, it’s good to see a massive web 2.0 site powered by more … traditional(?) … commercial hardware.  So many people in professional web development get caught up using the same technologies over and over again (MySQL on Linux) that we forget how powerful and widespread other technologies are (Solaris and Oracle).  I’m lucky in the sense that one of my clients is very Oracle-centric, while another manages hundreds of Solaris boxes, which helps me keep perspective (as all other clients I’m working with at the moment are Linux/MySQL shops).

It’s also interesting to see the timeline as LinkedIn progressed in its scaling efforts.  Scaling web applications is always an ongoing process, and it’s nice to see that they have plans for the future (can you say E9000?).  I’ll continue to follow LinkedIn, and I appreciate their openness in sharing with the community.