10 ms·
Espresso – Google’s peering edge architecture
- Apocryphon 10y agoThe official Android testing framework from Google is also named Espresso. Are we running into a classic hard computer science problem?
- Y_Y 10y agoOff-by-one errors?
- grkvlt 10y agoI'm sure he means something to do with caches; I had it on the tip of my tongue a moment ago, but the doorbell rang.
- spartanatreyu 10y agoHe means naming things
- andrewstuart2 10y agoSurely this is what he meant. Since edge peering/CDN is fundamentally caching (last I checked). It can't be off-by-one, and there are only 2 hard problems in CS, so there you have it.
- jenscow 10y agoI thought he meant IE support.
- bitwiseand 10y ago"There are only two hard problems in CS : 1. Naming things. 2. Cache invalidation. "
- coderholic 10y ago"There are only two hard problems in CS : 1. Naming things. 2. Cache invalidation. 3. Off-by-one errors"
- xapata 10y agoOnly you got the order wrong. One of those distributed systems problems.
- bitwiseand 10y ago"There are only two hard problems in CS : 1. Naming things. 2. Cache invalidation. "
- jamescostian 10y agoI'm pretty sure a lack of coffee is the real issue at hand. Google made more architecture to give peers an edge via two different Espresso shots to test
- IncRnd 10y agoNot if they developed using Espresso CSS editor that just had v3 released on March 30th.
- knorker 10y agoThere are two whole things at Google called "Espresso"? Oh no. I bet this reuse of a name has gone unnoticed internally until now.
- _pmf_ 10y ago> The official Android testing framework from Google is also named Espresso. This just shows that Android is treated as the ugly step child even within Google (not that this is not already obvious given the state of the Android API).
- Bud 10y agoDamn, for a moment there I was hoping that Google made some sort of really cool espresso machine. Perhaps with Alexa built-in.
- deleted 10y ago[deleted]
- smaili 10y agoThe essence of what Espresso is begins towards the end of the post: Espresso delivers two key pieces of innovation. First, it allows us to dynamically choose from where to serve individual users based on measurements of how end-to-end network connections are performing in real time. Second, we separate the logic and control of traffic management from the confines of individual router “boxes.”
- EE84M3i 10y agoI found this article confusing. It doesn't really say anything about what "Espresso" actually does, let alone how it does it.
- zaroth 10y agoFor some reason they didn't actually link to the talk, which I haven't watched, but presumably actually tries to start answering those questions. Quick search is showing the 2015 keynote that Amin gave, haven't found the 2017 one yet... [1] - 2015 ONS Keynote https://www.youtube.com/watch?v=FaAZAII2x0w https://www.youtube.com/watch?v=FaAZAII2x0w
- mikecb 10y agoAnd here's 2014, which was on the Andromeda NFV stack: https://www.youtube.com/watch?v=n4gOZrUwWmc https://www.youtube.com/watch?v=n4gOZrUwWmc And B4: https://www.youtube.com/watch?v=tVNlXg0iN-g https://www.youtube.com/watch?v=tVNlXg0iN-g
- deleted 10y ago[deleted]
- dkhenry 10y agoI think with platforms like this it is now safe to say that the systems and services Google is deploying are no longer in the same category as classical networked systems. This is as foreign a concept from traditional networking and the seven layer OSI model as non von Neumann computing is from von neumann computing
- insaneirish 10y ago> This is as foreign a concept from traditional networking and the seven layer OSI model as non von Neumann computing is from von neumann computing Not really. The OSI model doesn't say anything about where I run my routing algorithm and BGP application vs. where my actual switches are. "Classical" networking is an artifact of viewing routers/switches as monolithic blocks that embed all of their functionality in one black box. I said BGP application above because that's what it is, an application for distributing/communicating state. The same can be said for many other parts of networking traditionally embedded in the monolithic blob we often call a router. Label switched fabrics provide inherent NFV, security functions, and allow you to influence paths (i.e. traffic engineer) from applications that are equipped to make decisions based on your priorities, not some rigid vendor implementation. You will see more of this.
- tyingq 10y agoI can't speak the the edge stuff they are doing, but the routing closer to the data centers was unique to the way they do things. In a way that wouldn't be generally usable. Not every application can put enough context in the request to make it work the way Google is working. Sort of app request context based routing. Also, they have the advantage that a lot of their apps are like search, in that no consistency is needed. Five consecutive searches for "some query" can return different results each time, with no adverse effects. That creates a lot of flexibility in routing requests to destinations.
- NetStrikeForce 10y agoAs someone who works with SDN daily I couldn't agree more with you. Espresso is making decisions on how to use the application layer, but the underlying layers stay the same.
- NTDF9 10y agoCan someone with more expertise summarize how this differs from commercial SDN solutions like: Cisco ACI, Juniper Contrail etc.?
- djrogers 10y agoUnfortunately, no - at least not without quite a few more details. As this stands, it could be the high-level marketing overview for pretty much any SDN solution available, commercial or open.
- NTDF9 10y agoThanks! As someone who recently entered this field professionally, I find it amusing that most SDN solutions out there are just permutations of each other playing over marketing buzzwords. Not too different from "cloud computing" from a few years ago.
- djrogers 10y agoYeah, once you get past the hype though, SDNs can be great.
- danm07 10y agoDistracting aside: It's amusing that languages use so many references from the coffee industry. I wonder how long it will take to fill a Starbucks menu.
- deleted 10y ago[deleted]
- psankar 10y agoEven if it is under patent protection, Google is unlikely to sue you, unless you sue them first.
- londons_explore 10y agoTo my knowledge, Google has started exactly 2 lawsuits in it's history.
- deleted 10y ago[deleted]
- btown 10y agoTalk to a lawyer asap.
- dexterdog 10y agoIt's Google. If you're going to call a lawyer he better be north of $750/hr.
- wmf 10y agoEverything you have ever done or ever will do infringes dozens of BS patents. Get back to work.
- deleted 10y ago[deleted]
- s73ver 10y agoTwo Google products named Espresso? That won't be confusing at all.
- lnanek2 10y agoYeah, was annoying thinking this article was relevant to my every day life as an Android developer until I looked farther. Is it so tough for Google to Google a name before they pick it? Geez.
- knorker 10y agoSure. "Two"
- londons_explore 10y agoFound the employee...
- amelius 10y agoI suspect both are written in Java, and that namespace is getting crowded.
- itchyjunk 10y ago"We defined and employed SDN principles to build Jupiter, a datacenter interconnect capable of supporting more than 100,000 servers and 1 Pb/s of total bandwidth to host our services." This type of scales boggle my mind. Though I have found I can no longer keep up with all the terminologies popping up every day. Posts like these are my only connection to learning the massive scaling of things to make the modern networks work. "We leverage our large-scale computing infrastructure and signals from the application itself to learn how individual flows are performing, as determined by the end user’s perception of quality." Is this implying they are using Machine Learning to improve their own version of content delivery network?
- sroussey 10y agoThe google network is gold plated, lacks the jitter inherent in the internet at large or inside other competitors' networks. It makes it tempting to ignore some aspects of distributed computing, if only for a moment.
- felipemnoa 10y agoCould you expand a bit more on you comment? I feel I'm missing some context. Specifically, what do you mean by gold plated? Why is it tempting to ignore some aspects of distributed computing? I'm missing a lot of context that you are implicitly implying so could you elaborate?
- deleted 10y ago[deleted]
- KaoruAoiShiho 10y agoThis is pretty impressive.
- apanda 10y agoThis vision seems very similar to the 2011 talk by Scott Shenker: https://www.youtube.com/watch?v=YHeyuD89n1Y https://www.youtube.com/watch?v=YHeyuD89n1Y
- SaveTheRbtz 10y agoThis is a good talk about decomposability of control plane and creating proper abstractions for it. PS. "The ability to master complexity is not the same as the ability to extract simplicity" is a good takeaway. PPS. This is a part of EE 122: https://inst.eecs.berkeley.edu/~ee122/fa12/class.html https://inst.eecs.berkeley.edu/~ee122/fa12/class.html PPPS. PDF for SDN lecture: https://inst.eecs.berkeley.edu/~ee122/fa12/notes/25-SDN.pdf https://inst.eecs.berkeley.edu/~ee122/fa12/notes/25-SDN.pdf
- mmaunder 10y ago"Google has one of the largest peering surfaces in the world, exchanging data with Internet Service Providers (ISPs) at 70 metros and generating more than 25 percent of all Internet traffic. " Wow.
- fiatjaf 10y ago70 metros?
- deleted 10y ago[deleted]
- cakeface 10y agoI wonder if they are referring to a peering Internet exchange point (IXP) when they say metro. Basically a building where networks converge and ISPs connect to each other.
- walrus01 10y agoyes, though "metro" is a better way to define it since many IXes are geographically distributed throughout their city. For example DE-CIX in frankfurt is in many different datacenters, with their core switches connected by DE-CIX controlled dark fiber. AMS-IX in amsterdam is in many facilities in the same metro area, all the same L2 peering fabric. The SIX in Seattle is in three facilities in the same metro and several local ISPs have built their own extensions of it to Vancouver BC.
- packetslave 10y agoA metro in Google-speak generally refers to all of the peering locations in a given city or metro area, not specifically a single IXP. For example, if you look at the PeeringDB entry for AS15169 (https://www.peeringdb.com/asn/15169 https://www.peeringdb.com/asn/15169), for the London "metro" there's public peering available on LINX at 3 different POPs, and private peering available at Digital Realty, 3 different Equinix POPs, and 2 Telehouse POPs.
- walrus01 10y ago
- filereaper 10y agoYup, this is the kind of thing you get when you put in $30B into infrastructure. https://youtu.be/j_K1YoMHpbk?t=7472 https://youtu.be/j_K1YoMHpbk?t=7472
- piyushpr134 10y agoOne biggest takeaway from this is that they can have multiple machines for the same IP address. That is just awesome and also explains how they have probably managed to scale up services 8.8.8.8 without needing to use load balancers.
- soVeryTired 10y agoWhat does "peering edge" mean? A google search only brings up this article.
- transitorykris 10y agoThe part of their network architecture that interconnects with external networks
- dubcroster 10y agoA network is often described with an edge and a core, and there can be several types of "edges". For a company like google, you would most likely have an edge towards your servers as well as an edge towards your peering partners. The peering edge is therefore the part of the network that is used to connect to BGP peering partners.
- sebnap 10y agoWow. Isn't this a trojan horse? People start to use it because of it's convenience and then it will spread and spread and spread. I mean what's up when google will run more or less everything?
- hueving 10y agoThese presentations from Google are pretty irritating at these conferences. If you're familiar with the SDN field (as most ONS attendees would be), this presentation is essentially nothing but bragging about the scale at which they operate. There is no useful information in here to advance the state of the art, no new ideas, no publicly available implementations (closed or open source). It's just a very high-level architectural view of a large network given by people who are incentivized to present it in the most favorable light. And due to the lack of any concrete details, it's free from critical analysis. >Espresso delivers two key pieces of innovation. First, it allows us to dynamically choose from where to serve individual users based on measurements of how end-to-end network connections are performing in real time. Second, we separate the logic and control of traffic management from the confines of individual router “boxes.” The first has been done before at many levels of the network: * BGP anycast * DNS responses based on querier * Done in load balancer * IGP protocols to handle traffic internally while taking into account link congestion I assume their framework gives them much nicer primitives to work with than the above, which would be an advancement in the field if we could actually see an API or something. The second is very far from "innovation". This is the essence of SDN and this has been the hottest thing since sliced bread in the networking world since 2008 at a minimum [1] and even earlier if you look at things like the Aruba wireless controller. 1. http://archive.openflow.org/documents/openflow-wp-latest.pdf http://archive.openflow.org/documents/openflow-wp-latest.pdf
- runeks 10y agoI very much agree. I was hoping Espresso would be a framework for allowing GCP user applications to leverage Google's SDN, rather than just allow Google to offer their own services using this technology. I hope that's the next step. For example, it would be cool if it were possible to move shared-client/server-secret checking (eg. for an HTTP API) out to the edge of Google's network, such that a DDoS attack with invalid packets (secrets) never even reach the application VM/cluster. DDoS attacks, which force applications offline (by making the app scale up to an unsustainable cost level), could be prevented this way.
- cobookman 10y ago
- neduma 10y agotl;dr?