What would a "tremendous increase in server capacity" at Google look like? That was one potential response to the implementation of Google Instant, the company's new search technology, which requires Google's back-end to generate 5 to 7 times the volume of search results pages.
Instead of buying a gazillion more servers, Google's engineering team hunkered down with the other teams involved in the Instant launch and developed workarounds. Google Distinguished Engineer Ben Gomez explains in Google Instant, Behind The Scenes:
"When we came to the infrastructure team and said, 'we’re going to be serving five to seven times as many results pages for each query performed in Google Instant,' first they threw a fit, then they figured out how to get us there," Gomes writes. " We did increase our back-end capacity, but we also pursued a variety of strategies to efficiently address the incredible demand from Google Instant."
Gomes highlighted three strategies:
- Deploying new caches to handle high request rates while keeping results fresh as Google continuously crawls and re-indexes the web.
- Introducing user-state data into Google's back-ends to track results pages already shown to a given user, so results are not repeated.
Gomes highlighted the recent collaboration within Google to smooth the launch. But Google engineers have been working on some of these techniques for some time, as noted in a tweetby Google web performance optimization guru Steve Souders, who pointed to a presentation by colleagues Kyle Scholz and Yaron Friedman a the O'Reilly Velocity conference in June 2009.