The first Velocity Europe conference is happening November 8-9 in Berlin. I’m excited about this because there is a good deal of innovation and web-engineering thinking going on in Europe that isn’t
well known. It’ll be great to meet and connect with people in this part of the world who are making a difference in our tribe of web
operations and performance. (Pssst … here’s a 20% discount code you can use to register: veu11jsp.)
One of the things that I love about Velocity is that it brings to light topics that haven’t had widespread public discussion. What were once considered exotic areas of technology and practice — things like database scaling, configuration management, TCP internals and mobile performance — are now becoming commonplace.
In his work evangelizing Web Performance Optimization (WPO), Steve Souders has been talking about the importance of client-side performance. The results are dramatic. Having come from a server-centric background, I can remember events when the website would feel slow to a non-technical CEO. He’d walk over to the systems administrators and ask naive questions like “Why don’t we make sure we have enough servers?!” or “Can’t we get a faster network?” The assumption made here is that performance lies solely on the server side, whose destiny lies in the hands of systems and network admins.
This typically results in a performance tuning exercise by sysadmins and DBAs that doesn’t usually help, because the focus is in the wrong place. When the page generation takes a couple of hundreds of milliseconds and the rendering of the full page in the browser takes a couple of seconds, it’s almost like putting racing tires on a bulldozer; it’s not going to increase performance very much.
Steve has said in the past that only ~20% of performance is spent on the server side. The other 80%-plus is spent in the front end. On the face of it, you’d think that this realization would get server-side engineers off the hook for being solely responsible for the site being “slow.” This is certainly true, but there’s more to it.
As a result of the research from Steve and others in the WPO industry, we’ve seen an expansion of domain expertise: server-side engineers are expanding their focus from just looking at server-side responses to client-side performance. And similarly, developers who normally write client-side code are learning more about things like TCP handshakes, DNS lookups, and the various mechanics of Content Delivery Networks, which hadn’t previously been their focus.
Velocity has helped bring about this change in focus — from a world where server-side and client-side engineers focused only on their own respective areas, to one where all web engineers are expected to have a broader, more “holistic” view of the pipeline, up and down the stack.
Steve told me a story of hearing a backend engineer espousing longer Expires headers, inlining (data: URIs), and sprites as ways to reduce server load. “It brings joy to my heart when I hear these words” he said. “I realize all sides are working together to create the most optimized web delivery system possible. The end result is a better, faster, more enjoyable experience for users.”
That’s a good thing. Come to Velocity Europe and help us build this faster future!