In this session we’ll leave the need for performance a foregone conclusion and take a whirlwind tour through the complexity of modern Internet architectures. The complexities lead to evil optimization problems and significant challenges troubleshooting production issues to a speedy and successful end.
Starting with the simple facts that you can’t fix what you can’t see and you can’t improve what you can’t measure, we’ll discuss what needs monitoring and why. We’ll talk about unlikely allies in the fight for time and budget to instrument systems, applications and processes for observability.
You’ll leave the session with a better understanding of what it looks like to troubleshoot the storm of a malfunctioning large architecture and some tools and techniques you can use to not be swallowed by the Kraken.
Do you wonder if your website could be faster? Have you longed to have a performance guru give you pointers on how to improve your site? Would you like to reduce latency for your users but unsure what needs to be done? Confused about which optimizations provide the greatest bang-for-the-buck? Then this workshop is for you.
Bring your website to this session where some of the leading proponents of web optimization and measurement will provide practical, step-by-step help on ways to improve the performance of your site. A handful of select sites will be showcased with each site being worked on by the facilitators and the audience. Along the way we’ll learn how to apply the PageSpeed tools to a variety of sites.
If you are interested in understanding the details of website optimization and participating in a workshop aimed at improving site performance, please attend.
by John Allspaw
When things go wrong, our judgement is clouded at best, blinded at worst.
In order to successfully navigate a large-scale outage, being aware of potentials gaps in knowledge and context can help make for a better outcome. The Human Factors and Systems Safety community have been studying how people situate themselves, coordinate amongst a team, use tooling, make decisions, and keep their cool under sometimes very stressful and escalating scenarios. We can learn from this research in order to adopt a more mature stance when the s*#t hits the fan.
We’re going to look closely at how people behave under these circumstances using real-world examples and scan what we can learn from High Reliability Organizations(HROs) and fields such as aviation, military, and trauma-driven healthcare.
by Guy Podjarny
Mobile Optimization is complicated, and there’s no single silver bullet. Many different bottlenecks take their toll along the way, and while some have a huge impact, others still add up. In this presentation, we’ll take a website and optimize it step by step. In each step we’ll touch on a problem, discuss how to solve it – perhaps in multiple ways – and show the effect of the solution. In the process, we’ll also touch on topics such as measuring mobile performance, differences between browsers, and which pitfalls are common.
As part of this workshop, we will cover the creation and establishment of a web performance dashboard with the ultimate goal of leaving the room with a working, if somewhat limited, portal using a variety of free and/or open source projects and resources.
Starting with WebPageTest, we will cover public and private instances, the API, scheduling jobs, running synthetic tests, configuring relays, as well as the collection and storage of the results for later display in aggregate form. Additionally, we will discuss the primary difference between synthetic and real user monitoring (R.U.M.) and how they relate to each other.
With the introduction to R.U.M., we will further explore the insights that R.U.M. can provide by linking key business metrics (such as conversion, engagement, bounce rates, etc.) to site performance using a tool like Google Analytics & Google Webmaster Tools. More specifically, inside Google Analytics we will provide an overview of the available performance data, limitations on the number of measurements, and how to increase the sample rate for smaller sites using _setSiteSpeedSampleRate(). Moving beyond Google Analytics we will also introduce boomerang.js, how it works, its configuration and management, the complexities surrounding the calculation of page performance without support from the Navigation Timing specification, creating a beacon server, collecting data, and processing the results. As an aside, we will emphasize the synergy between R.U.M. and synthetic testing in which R.U.M. thresholds are used to trigger synthetic tests to provide additional insight and analysis.
As part of the above presentation, we will also discuss some of the other tools and community resources available and how someone might leverage them for simple long term trending with a minimum of overhead such as the HTTP Archive and ShowSlow.
Specific technologies and software discussed in the presentation includes, but is not limited to, both the public and private instances of WebPageTest, Google Analytics (and by extension Google Webmaster Tools), boomerang.js, ShowSlow, and the HTTP Archive.
Under the best and most ideal circumstances, we would like to provide or distribute a working virtual machine running Linux which can be run via the free VirtualBox.org to allow the audience to follow along as well provide working installations of the above which they can experiment with right there in the hall and use for basic testing. This will hopefully allow the audience to better focus on the material and methods rather than the configuration of open source packages and their dependencies.
by Mark Burgess
In the very different environment of the 1990s, the speaker introduced that concepts of desired-state management and convergent repair, which formed the basis for tools like CFEngine, Puppet and Chef. Today, the industry has evolved considerably, and Mark Burgess is not standing still. In this talk, he asks: what are the next steps for IT infrastructure tech?
What will happen to the Cloud? What will happen to devops? What will be the role of humans and machines? What will the mature IT environment look like?
We must make do with incomplete information about our systems, and still make the best of it. With examples from CFEngine 3, the speaker presents a view of the next ten years for IT infrastructure engineering.
Join Steve and Past as they show how to quickly identify the common bottlenecks in today’s popular websites. This tutorial combines techniques for website performance analysis with a survey of the latest web performance tools. In addition to page load time the goal of progressive rendering is covered, as well as the role of automated performance optimization tools.
We’ll dig into topics such as:
Steve Souders and John Allspaw, the Velocity Europe Program Chairs, welcome you to the first day of keynotes.
Apple’s iPhone SDK has been the largest disruption to software development since the Web, sparking the creation in a few short years of the largest medium for consumer engagement in the world, eclipsing the Web, movies, and even television. While some prophesy that in the coming years mobile apps will be replaced by the web, in today’s reality a number of high profile start-ups are bypassing the web entirely to reach their audience exclusively via apps. Join Ben and Dion as they discuss the role performance plays in the tension between the web vs. apps conversation.
Content Delivery Networks are generally treated like a black box; some handwaving happens and suddenly things are expected to go faster from around the world. Time to reveal how a CDN actually works. At it’s core it is a distributed system operating under the worst possible conditions—long distances, high latency, and unreliable links that you don’t control. In addition you have to deal with a large amount of clients who are prone to misbehaviors, servers that aren’t standards compliant and settings that defeat the purpose of the caches.
The talk will cover both how to use a CDN and how a CDN is implemented, topics include:
When searching for something online, people often open multiple results in browser tabs and switch to the one that loads first. It’s a race for the user’s attention, but usually there’s only one medal.
Just as in sport, the web is fiercely competitive and people expect more from it each year. Last year’s winning performance is this year’s new baseline. As a result developers must answer complex questions to stay in the game: How do users perceive the performance of my site? What do they expect and am I meeting their expectations? What new metrics should I be collecting to answer these questions?
Not complicated enough? Put mobile devices in the game. Do mobile users have different expectations than desktop users? How does radio link lifetime affect performance? How do I work with the lack of NavTiming support in mobile browsers?
In this talk, Buddy and Philip will answer most of these questions, and cover some of the insights gained from studying real user performance data over the last few years. We’ll also cover tools that you can use, both free and commercial, to arm you with the information you need to win Gold.
by Andrew Betts
Over the last 18 months the FT has led the way with HTML5 technologies, producing one of the world’s most celebrated pure-web experiences. Along the way, we’ve developed techniques for improving the performance of our web interfaces, building in platform specific variations, A/B testing and handling errors.
At the same time, there has been a proliferation of sites that have increasingly tried to emulate native look and feel, but end up with something that doesn’t feel quite right. Rather than trying to copy, it pays to find a design that works for you and which you can implement really well.
I’ll cover techniques involving technologies such as application cache, font preloading, data URIs, data compression, image optimisation and dynamic runtime configuration.
We don’t know how the 2012 Olympics went, but we do know it has had a major impact on the BBC’s web architecture.
This talk will cover how the BBC managed (or didn’t) to handle a major sporting event alongside mantaining business as usual on the same shared hosting platform with tight budgetary constraints.
Topics very likely to come up:
* Preparing to push BBC to CDN.
* Problems we encountered during The Games.
* Web Security; Bejing Olympics reportedly had 12M cyber attacks during the games!
* What we would have done differently.
* What we didn’t have time or money to do.
* Caching, Cookies and Varnish.
* Monitoring and Logging.
* Pretty graphs!
There is nothing more important than having great tools and visibility into where your performance bottlenecks are, as well as to help you debug those gnarly bugs. Come by and learn about all the great capabilities of Chrome Dev Tools!
by Rajiv Vijayakumar
by Guy Podjarny
Building a good mobile website, spanning different devices, platforms and contexts, is a difficult task. The need to make that website FAST is often overlooked as designers and developers focus on layout and functionality, often resulting with slow and heavy mobile sites.
In this presentation we’ll review the top design paradigms for building a mobile website. We’ll briefly explain each approach, touch on the key implementation points, and dig into the primary performance concerns it creates. We’ll share real world examples, demonstrate what went wrong, and talk about how you can avoid these problems on your own site.
by Mike Krieger
We’ve scaled the backend systems for Instagram to support over 85 million users, all with an engineering team of 6 and a backend team of 2. This talk will cover specific parts of the architecture, including feed fan-out, horizontal database partitioning, and search, and will extract higher-level principles about making technology decisions at a fast-growing startup.
by Joe Beda
An overview of Google Compute Engine. GCE provides Virtual Machines optimized for large scale data processing and analytics. We will dive into the core concepts, API, unique features and architectural best practices in the context of concrete examples.
by Sam Dutton
In this session we show you a host of techniques to optimise mobile web app performance:
- the right way to use requestAnimationFrame() - optimising image performance - layout, scrolling and (touch) event handling - CSS3 – the right way - making the most of hardware acceleration - using the canvas element - working with media - offline and app cache for speed and stability - Chrome Dev Tools for testing, profiling and remote debugging
by Remy Sharp
In the past few years, The Echo Nest has built the largest database of music anywhere – over 2 million artists and 30 million songs each with detailed information down to the pitch of each note in each guitar solo and every adjective ever said about your favorite new band. We’ve done it with a nimble and speedy custom infrastructure—web crawling, natural language processing, audio analysis and synthesis, audio fingerprinting and deduplication, and front ends to our massive key-value stores and text indexes. Our real time music data API handles hundreds of queries a second and powers most music discovery experiences you have on the internet today, from iHeartRadio and Spotify to eMusic, VEVO, MOG and MTV.
During this talk, the Echo Nest’s co-founder and CTO will run through the challenges and solutions needed to build music recommendation, search and identification at “severe scale,” with the constraint that most of our results are computed on the fly with little caching. It’s hard to store results when data about music changes on the internet so quickly as do the tastes and preferences of your customers’ listeners.
by Oliver Ochs and Frank Thelen
Telefónica Germany, best known for its consumer brand o2 (www.o2online.de), operate several Web portals for prospects, customers, service agents, and business partners. With 3 million PageViews a day, their Web portals are an integral part of nearly all major business processes.
Performance is a critical factor that directly influences conversion rates and revenue of a Web portal. Thus performance is a major requirement that adds specific effort to the entire Web development process. Telefónica Germany use a variety of tools to ensure and verify that performance requirements are met. In 2012 we rolled out “Real User Monitoring” based on the recent “Navigation Timing API” adding a new aspect to Web page monitoring that no other approach provides.
“Real User Monitoring” takes place right in your users’ browsers – measuring your users’ true experience when accessing your Web pages. This captures all factors, e.g., bandwidth, network latency, hardware, protocol, banners, tracking pixel, mashups, browser extensions – allowing new findings, e.g.,
This session addresses the following questions:
This session reports on the introduction of “Real User Monitoring” at Telefónica Germany. It provides experience and learnings, practical tips, dos and don’ts. Attendees will walk away with a clear unterstanding of “Real User Monitoring” based on the “Navigation Timing API”, its benefits and limitations, and how it can be implemented.
We’ll look at challenges to be addressed when optimizing Web content for the laptop, smartphone and tablet user experience. With each format comes an inherent set of challenges for usability and performance. We will show real life data to highlight each challenge and give operations teams, content owners, and developers best practices for creating & maintaining sites optimized for all 3 screens.
Whether you have a mobile strategy or are considering it down the road, chances are that your customers are already accessing your website with a smartphone or tablet. To ensure the highest level of user satisfaction, no matter how they come to your website, content providers should consider optimizing the user experience across three screens: the laptop, smartphone and tablet.
The mobile experience is no longer defined as the simple extension of the desktop experience to a small screen. The latest smartphones are much more powerful than previous generations and technologies like HTML5 allow content providers to do much more. Much to the disappointment of the end user, many companies approach their mobile experience as scaled-down version of the desktop. What’s more, tablets can’t be treated as merely large screen smartphones or touchscreen laptops. Tablets are truly unique in how they are used and they face their own performance challenges.
We will show real-life examples of how popular websites can perform quite differently across each of the three screens and provide tips for improving performance across each. We’ll also show usability and design best practices to ensure users can interact with each of the three screens to get what they want, and how they want it.
In addition, Keynote works with hundreds of enterprise customers in our day to day work and can bring the real life challenges and experiences that we face to the talk.
Some of the unique tips we can offer:
Desktop We have a wealth of real world analysis to offer here – drawn from our day to day work with clients. So we will discuss the most common issues in Desktop performance (and how they differ from some accepted “truth” in the industry – for example third party tag performance is probably one of the largest issues for all sites but not something you hear folks talking about too much). We can also talk about how sites are able to achieve the 2-3s load time we recommend as targets for desktop load times. Audience members will walk away with tangible tips and best practices.
Mobile Similar approach here. Really in mobile is about balancing usability & feature content v. performance. As you know Mobile’s high latency changes the game in terms of page design and performance. We can talk about best practices in this space (again drawn from real world examples). Some thoughts on this topic include: • Do CDN’s optimize Mobile? • Page design for the Mobile world – something I know you are working on quite a lot. • Ensuring the performance of HTML5 applications • Mobile load testing
Tablet This area is really interesting as it is a hybrid. Do you design for a WiFi experience or 3G network? • Balancing content with capabilities: something we’ve noticed in our research is that many sites are delivering more content to an iPad than they would to a desktop (often desktop content plus App advertising). The impact can crush performance over a 3G network. • Balancing usability & feature content v. performance • Ensuring the performance of HTML5 applications
Facebook was an early adopter of HTML5 as a platform for the number one application on every major mobile computing platform. After more than a year of iteration, testing, metrics, and lesson-learning, we’ve struck a balance between HTML5 and native development. The greatest takeaway from the experience for us is learning the amazing array of hidden costs associated with building for the web as a native application. This talk will delve into:
Dr Martin Anderson has a degree in molecular biology and loves nothing more than to hear himself think out loud. Abe’s a school leaver who’s spent fifteen years in the trenches making sure his phone doesn’t ring at night. In Betfair’s quest to build bigger, faster and better web-based products, Abe and Martin have come to love and nurture each other’s blind spots, all while just barely keeping from killing each other.
Come along as they dissect each other’s bad decisions: from picking an inconsistent NoSQL data store for a use case that requires consistency (Dr Anderson) to trying to instrument a billion clustered transactions per second with an online code debugger (Abe), this dynamic relationship will make you laugh and cringe all at the same time.
One of the valid complaints about DevOps is that it’s difficult to describe what it is. Currently, DevOps is more like a philosophical movement, and not yet a precise collection of practices, descriptive or prescriptive (e.g., CMM-I, ITIL, Agile, etc.). At this early stage we’re in, DevOps is more like a vibrant community of practitioners who are interesting in replicating the performance outcomes and culture as exemplified in the seminal John Allspaw/Tim Hammond 2009 Velocity presentation about doing “ten deploys a day” at Flickr.
The intent behind the “DevOps Cookbook” project is to catalog what the “high performing DevOps organizations” all have in common, and then provide prescriptive guidance so that other organizations can replicate their results. Very much like the “Visible Ops Handbook,” which one of the submitters co-authored, we are attempting to describe all the necessary and sufficient steps to create the culture, values, processes, procedures and daily work behind their transformations.
We describe what is required from each of the major stakeholders, including Development, Test, Product Management, as well as IT Operations. We will present the common constraints and conditions that apply each of the patterns, as well as the modifications that must be done to existing patterns. Examples include Dev patterns (e.g., Agile and continuous integration and release processes) and IT Operations patterns (e.g., release, change, incident and problem management, monitoring, escalation, escalation of preventive project work, etc.).
Our hope is that this work will significantly increase the probability of DevOps initiatives succeeding, accelerate its adoption curve, and ideally, lower the activation energy required for DevOps transformations to start and finish.
This research is the continuation of the Patrick DeBois’ pioneering work in the DevOps community, as well as John Willis and Gene Kim’s decades long passion for studying and creating high performing IT organizations.
by Mark Jennings and Dave Nolan
After a recent experiment on lonelyplanet.com demonstrated the dramatic impact that web performance has on user behaviour and ultimately the bottom line, we now have hard evidence that performance is as valuable as any other feature we build.
We’d like to share the simple, repeatable steps we’ve taken to achieve ‘screamingly fast’, including effective use of our CDN, minimising HTTP requests and effective caching everywhere and having as little data as possible is going over the wire.
Finally, we’d like to share details on how we’re utilising AWS and using real-time metrics to safely deploy many times a day while still ensuring our site stays up and our performance stays lightning fast! We’ll share the open source tools (including those we’ve written ourselves) that will help people get from nothing to something with very little effort and help make these concepts a part of their organisation.
2nd–4th October 2012