I tend to focus on negatives - on simple negatives of the what's wrong and who's guilty variety, and on the subtler negatives built into the proposition that switching from method or product A to B saves money or improves functionality. That's natural for a consultant, but tends to blind me to success stories.
There are lots of those too - and a guy named Scott Johnson recently drew my attention to one of those by pointing to an interesting discussion of the linkedin.com architecture on Oren Hurvitz's "Cookies are for closers" blog site.
The information is ultimately from presentations made at the 2008 JavaOne conference and includes lots of interesting architectural and process detail.
Prior to this I knew vaguely what linkedin was about (focused social networking for and among professionals) but hadn't paid any attention to them.
Turns out they've grown a very effective mid to large scale customer service infrastructure - some data directly from Hurvitz:
- 22 million members
- 4+ million unique visitors/month
- 40 million page views/day
- 2 million searches/day
- 250K invitations sent/day
- 1 million answers posted
- 2 million email messages/day
And all of it on Solaris, Java, and customization of open source software. Here's the summary software list:
- Solaris (running on Sun x86 platform and Sparc)
- Tomcat and Jetty as application servers
- Oracle and MySQL as DBs
- No ORM (such as Hibernate); they use straight JDBC
- ActiveMQ for JMS. (It's partitioned by type of messages. Backed by MySQL.)
- Lucene as a foundation for search
- Spring as glue
In going through the slides I found first that there is lots of stuff there I simply don't understand - in the sense that I'm reasonably confident I know what the words mean and what the technology referred to does, but completely lack any gut response on how it gets implemented in practice or what it takes to do that.
What I was left with, therefore, were mainly impressions - impressions that resonate strongly with other beliefs. Specifically they seem to have focused on performance and customer service, kept their team small, minimized management overheads, and adhered tightly to the basic development principle that simple and fast ultimately beat all other coding and design desiderata - except the cost and risk avoidance values that come from using proven open source components.
The result, while I have no comment on their business model or service value to users, seems to be a model for mid range web applications: it's fast, it's clean, the mix of open source with local customization and linkage ensures low cost flexibility - altogether a technical success story justifying the pride evident in JavaOne presenters Nick Dellamaggiore, Rusian Belkin, and their colleagues,.