According to Search Engine Land, in 2015, Google had 64% of the search engine market share. There’s no debating that Google is currently the largest search engine around. With 25% of the world’s traffic being generated by them, they’re always looking for ways to improve performance. Google has always been a pioneer of web performance. From creating compression technologies such as Brotli and image formats such as WebP, it’s evident that they value speed and reliability.
Google’s need for speed and reliability apply to many aspects of their architecture including their network. In this article, we’re going to go over Google Espresso – the peering edge architecture which was unveiled at the Open Network Summit in April of 2017.
What Is Google Espresso?
Google Espresso is part of Google’s Software Defined Networking (SDN) strategy. It’s ability to be scalable, flexible, and efficient, makes it vital in order to roll out new application capabilities that would simply not be possible otherwise due to Internet Protocol limitations.
Essentially, Google relies on connections to major ISP, or Internet Service Providers, around the globe to deliver content. Espresso is the fourth pillar in Google’s SDN strategy and aims to improve the connectivity and efficiency of these connections.
The Need for Google Espresso
As technology continues to evolve, so does the need for better infrastructure and faster response times. As Google explained on their blog, Espresso becomes quite useful for tasks relying on a low-latency connection such as voice search with Google Assistant.
Answering the question “What’s the latest news?” with Google Assistant requires a fast, low-latency connection from a user’s device to the edge of Google’s network, and from the edge of our network to one of our data centers. Once inside a data center, hundreds—or even thousands—of individual servers must consult vast amounts of data to score the mapping of an audio recording to possible phrases in one of many languages and dialects.
The search phrase is then passed to another cluster to perform the actual search and finally, the results are returned to the edge of Google’s network back to the end user.
Since users are demanding results faster and queries are becoming more complex, systems must be able to properly scale and adapt to meet these needs.
How Does Google Espresso Work?
With Google Espresso, Google takes traffic distribution into its own hands. Traditionally, Google would rely on individual routers to figure out the best way to route traffic, however now, it can dynamically choose from where to serve content based on how end-to-end network connections are performing in real-time. This makes for great performance and efficiency improvements compared to the traditional method of simply sending users information from a location based on their IP or the address of their DNS resolver.
Google can achieve these enhancements by handing off the previous responsibility of routers to servers operating at the edge of their network. The chart below shows how Espresso fits into Google’s overall network architecture.
As previously mentioned, Espresso is the fourth pillar in Google’s SDN strategy. Apart from Espresso, Google also takes advantage of three other pillars including:
- Jupiter: Handles traffic within a datacenter
- B4: Used to connect data centers to one another
- Andromeda: A Network Function Virtualization stack that delivers the same capabilities available to Google-native applications
With this architecture in place, Google is able to make the cloud faster, more available, and cost effective. As of April 2017, Google stated that Espresso is already delivering 20 percent of their total traffic and is growing – making it only a matter of time before all traffic is accelerated with the help of Espresso.
Since Google is so popular and is a major source of traffic for so many websites, it’s important to understand what changes and updates are being made to their infrastructure. This update does not directly affect webmasters however it’s a good reminder to take a look at your own site’s performance and ensure that it is up to par with Google’s performance suggestions.