For a performance nerd, this year's Velocity conference had to be Mecca. There was an abundance of great sessions, covering a wide variety of performance and operations topics.
I'll get to the Yahoo session shortly, but first I wanted to share my favorite session from the conference. John Rauser from Amazon gave a great talk on how TCP affects the performance of web sites. The premise of my talk (further below) is that we all need to know more about the parts of the stack we don't work on to be better at our jobs; John's presentation is a wonderful example of why this is true. In this presentation, John shows how measures that the fathers of the internet put in place to protect it from congestion are now limiting our ability to serve really fast web sites.
So what about the Yahoo stuff? We have so much... and, boy, do we love performance. We had a total of 10 sessions at the conference, from 7 speakers and 1 product announcement. Not bad.
Many of you already saw the Boomerang announcement last week, which Phil Tellis (@bluesmoon) was excited to announce during his session on "Latency: Why You Should Worry and What you Can Do About it":
Nicholas Zakas (@slicknet) also gave a great talk on "Performance on the Yahoo! Homepage":
Having personally worked with Nicholas on the Yahoo! homepage, I can personally attest to the challenges involved in optimization while adding more dynamic engaging features. Nicholas' talk breaks down — in a really approachable way — balancing the needs of a dynamic product versus the cost of performance. Nicholas frankly addressed the tradeoffs and where it made sense to "cheat."
It wouldn't be performance without Stoyan Stefanov (@stoyanstefanov). Stoyan participated in three sessions at Velocity. Personally, I especially liked his "Psychology of Performance" talk, which should be essential viewing for all developers.
Remember, it's what the user perceives that matters more than what happened on the network. Stoyan and Yahoo! alumni Nicholas Sullivan (@stubbornella) also presented "The Top 5 Mistakes of Massive CSS".
I (@sh1mmer) spoke to Mac Slocum from O'Reilly about my session — "I made a Map of the Internet - And what it can teach us about speeding up web sites" — and other tips for speeding up web sites.
As I mentioned above, I'm really keen on the idea of having an understanding of how what you do fits into the bigger picture. We all draw these perfect diagrams showing how are system works that ignore all the real-world constraints. I hope my slides will give you a sense of the overall systems and how they plug together to make the internet and the web work.
We aren't done yet. Mark Nottingham (@mnot) gave a talk on "Stupid Web Caching" (more on that on the blog soon), Matt Sweeny (@msweeney) walked the audience through the browser performance toolkits available in his workshop, and Tony Ralph gave an overview of the display ads and page performance ecosystem.
But wait! I couldn't talk about Velocity without talking about operations as well.
Yahoo!'s Lief HedStrom (@zwoop) introduced Apache Traffic Server in his session "Apache Traffic Server - HTTP Proxy Server on the Edge." As a core piece of infrastructure at Yahoo!, Traffic Server has allowed us to scale our web infrastructure in a number of interesting ways. Lief's talk discusses the different ways we use Traffic Server to improve the performance and reliability of our Web stack.
We also had Yahoo! SVP of Operations Cheryl Ainoa talking about "Innovation At Scale." She discussed how we deal with infrastructure at Yahoo! scale. She compares launching a bottle rocket to NASA: while they both have launch sequences, the complexity of each is dramatically different. Cheryl talked through two case studies of how Yahoo! used its technology to innovate within service engineering, to fight problems like spam.
tl;dr (too long, didn't read)
The too-long-didn't-read version is simple: At Yahoo!, we like our pages fast, and we like our operations smart.
We hope that some of this material will help you improve your own sites. If you have any questions, please don't hesitate to ask.