SANTA CLARA, California — Google unveiled to the outside world its peering edge architecture — Espresso.
At the Open Networking Summit (ONS), Google Fellow Amin Vahdat said Espresso is the fourth pillar of Google’s software-defined networking (SDN) strategy. Its purpose is to bring SDN to the public Internet.
Espresso, which has been in production for over two years, already routes 20 percent of Google’s total traffic to the Internet.
Previously, Google ran protocols on high-end routers and peered with its partners. But Vahdat said those routing protocols had a very local view with the goal of simply finding a path between source and destination. The goal was not to find the best path or to dynamically shift paths.
“That doesn’t scale,” said Vahdat. “Furthermore, Internet protocols have relatively coarse fault recovery. Minutes can pass before routers can come to convergence for alternate paths.”
With Espresso, Google can view what’s happening across many routers and take a metro view of routers and even a global view of routers across metros.
Expresso runs border gateway protocol (BGP) on servers co-located with label-switched fabric. “Packet processors insert a label onto every packet,” said Vahdat. “Routers read the label. A local controller within every metro programs the label-switched fabric. The servers are sending summaries of how the flows are behaving in real time to a global controller.”
The local controller can make updates in real time. And the global controller can integrate across all metros.
Google’s SDN Pillars
“Early on, we realized that the network we needed to support our services did not exist and could not be bought,” wrote Vahdat in a Google blog today.
The company has been building its own network over the past 10 years to support its services. “Our fundamental design philosophy was that the network should be treated as a large-scale distributed system, leveraging the same control infrastructure we developed for Google’s compute and storage systems,” he wrote.
The first three pillars of its SDN strategy are:
- Jupiter: Google employed SDN principles to build Jupiter, a data center interconnect capable of supporting more than 100,000 servers. As of 2013 it supports more than 1 Pb/s of total bandwidth to host its services.
- B4 WAN interconnect: Google constructed B4 to connect its data centers to one another to replicate data in real-time between individual campuses. “It’s built on white boxes with our software controlling it,” said Vahdat at today’s session. “Our goal was to build a copy network. As it’s grown it’s become mission critical. B4 grows faster than our public network.”
- Andromeda: Google’s Andromeda is a network functions virtualization (NFV) stack that allows it to deliver the same capabilities available to its native applications all the way to containers and virtual machines running on the Google Cloud Platform.
Espresso extends SDN to the peering edge of Google’s network where it connects to other networks across the planet. The Espresso technology allows Google to dynamically choose from where to serve individual users based on measurements of how network connections are performing in real time.
“Rather than pick a static point to connect users simply based on their IP address (or worse, the IP address of their DNS resolver), we dynamically choose the best point and rebalance our traffic based on actual performance data,” wrote Vahdat.
What’s next for Google’s network?
At ONS today Vahdat peered into Google’s crystal ball to predict what’s next in networking. He sees serverless computing and storage disaggregation in the future.
“Storage disaggregation is going to be critical,” he said. “The data center as a whole is going to be your storage appliance. You’re going to be able to replicate and transact on your data with high levels of reliability. Any disk or flash device appears as if it were local.”
Google Fellow Amin Vahdat revealed Google’s peering edge architecture at the Open Networking Summit 2017.