News for hackers. Stuff that matters.
Re:Finding a problem at the bottom of the Google stack by Nextgrid on Sunday March 15, 2020 @11:57AM (#22584123)
I wonder why it took as far as having the actual software running on the machine to fail and have user-facing consequences for them to notice that something was wrong. With all that bragging about how good they are, why didn't they have alerts that would let them know the temperature was higher than normal before it got to a level critical enough to affect software operation?
Re:Finding a problem at the bottom of the Google stack by cranekam on Sunday March 15, 2020 @04:02PM (#22586238)
Because with tens or hundreds of thousands of racks it would be a full-time job to go through such alerts. Some are likely real (hi broken wheels) and some almost certainly aren't (hi someone training a ML model). And users don't care: as a user I don't care if a host or rack is hot. All I care is that when someone (an SRE or automation) notices errors the rack is drained and the errors go away. At somewhere small where an individual rack failing isn't okay it might make sense to monitor physical health more closely; where it doesn't matter it's better to focus on whether the user is having a good time.

As someone else said, alert on symptoms (user-facing errors), not causes, because you're never going to be able to enumerate all the potential causes ahead of time and dealing with the alert onslaught from trying is unworkable.

Re:Finding a problem at the bottom of the Google stack by dijit on Sunday March 15, 2020 @05:04PM (#22586742)
> Because with tens or hundreds of thousands of racks it would be a full-time job to go through such alerts.

Sorry, I'm merely a lowly sysadmin and not a godly Google SRE, but environment monitoring is a solved problem, humans need not apply.

Re:Finding a problem at the bottom of the Google stack by cameronbrown on Sunday March 15, 2020 @08:10PM (#22588214)
> Sorry, I'm merely a lowly sysadmin and not a godly Google SRE

Don't really like how this is framed - plenty of Google SREs are born and bred sysadmins.

Re:Finding a problem at the bottom of the Google stack by dijit on Monday March 16, 2020 @07:38AM (#22591813)
My comment was a bit flippant I agree, and I know Google is a huge company so there are a great many people I have never interacted with.

That said; the google approach _does_ appear to quite literally throw away institutional knowledge from high throughput/high uptime and automation focused systems engineering.

I don’t discount that google SREs are highly intelligent and often know systems internals to the same or a greater extent than highly performing sysadmins. But there does appear to be desire to discredit anything seen as “traditional” and I think that can be harmful, like in this case.

Sometimes they know better, but there is a failing to ask the question: “what does it cost to only act on symptoms not causes”

Re:Finding a problem at the bottom of the Google stack by cameronbrown on Monday March 16, 2020 @05:39PM (#22598198)
> Sometimes they know better, but there is a failing to ask the question: “what does it cost to only act on symptoms not causes”

I imagine hardware breaking is the cost -- but as long as an engineer's time is worth more than the hardware, that tradeoff will be made.

Re:Finding a problem at the bottom of the Google stack by tjoff on Monday March 16, 2020 @05:55PM (#22598413)
Debugging and replacing is far more time consuming and costly, both in hardware money and engineer money.
Re:Finding a problem at the bottom of the Google stack by joshuamorton on Sunday March 15, 2020 @05:10PM (#22586800)
He's talking about after you filter them with automation.

When you have enough machines, 10 of them are always running hot.

Re:Finding a problem at the bottom of the Google stack by Nextgrid on Sunday March 15, 2020 @05:30PM (#22586947)
The "hot" we're talking here is beyond what the machines are specced for and suggests something is wrong (in this case the rack was tilted and it was messing with the cooling system). That should never happen under normal operation, otherwise it suggests a bigger problem (either the whole building is too hot, or there's a design flaw in the cooling system).
Re:Finding a problem at the bottom of the Google stack by joshuamorton on Sunday March 15, 2020 @06:31PM (#22587421)
Lots of things that should "never" happen start to happen with frightening regularity once you have enough machines.

Few of them are worth paging someone.

Re:Finding a problem at the bottom of the Google stack by dijit on Sunday March 15, 2020 @06:40PM (#22587488)
Those are two extremes.

For me, when a machine reports as abnormal it will decommission itself and file a ticket to be looked at, we have enough extra capacity that it’s ok to do this for 5% of compute before we have issues, and we have an alert if it gets close to that.

If you’re doing anything other than that then either your machines are abnormal and functioning, which is scary because they’re now in an unknown state- or you’re able to just throw out anything that seems weird, which might also hide issues with the environment.

Re:Finding a problem at the bottom of the Google stack by Dylan16807 on Monday March 16, 2020 @07:14AM (#22591700)
Whether you page someone or not, a machine hitting thermal throttling repeatedly should be just as notable as the abnormal failure rate that started the investigation.
Re:Finding a problem at the bottom of the Google stack by dnautics on Sunday March 15, 2020 @08:33PM (#22588380)
> When you have enough machines, 10 of them are always running hot.

Sure, but isn't there rack-level toplogy information that should warn when all of the elements in a rack are complaining? That should statistically be a pretty rare occurrence, except over short periods, say, < 5-10 hours.

Re:Finding a problem at the bottom of the Google stack by popinman322 on Sunday March 15, 2020 @05:28PM (#22586928)
It's Google; they have sufficient ML capacity to filter cases. It might require additional manpower in the short term, but it also lowers the likelihood of infrastructure failure long-term.

What might not make sense, resource-wise, to smaller companies does start to make sense at their scale.

Re:Finding a problem at the bottom of the Google stack by jldugger on Monday March 16, 2020 @01:21AM (#22590237)
Anomaly detection on timeseries data is surprisingly bad. The data tends to be bad in all the wrong ways -- seasonal, and not normally distributed.

And worse, you have no training data, so ML model you train simply learns whatever badness is allowed to persist in production as normal.

Re:Finding a problem at the bottom of the Google stack by cranekam on Monday March 16, 2020 @03:06AM (#22590663)
I worked at a FAANG and every now and then someone proposed or tried to make an anomaly detection system. They never worked well. It’s an extremely difficult thing to get right. Better to just have good monitoring of whether your system is responsive/available/reliable and ways to quickly work out why it’s not.
Re:Finding a problem at the bottom of the Google stack by alephnan on Sunday March 15, 2020 @12:03PM (#22584152)
> We consider these types of failures "within error budget" events. They are expected, accepted, and engineered into the design criteria of our systems. However, they still get tracked down to make sure they aren’t forgotten and accumulated into technical debt
Re:Finding a problem at the bottom of the Google stack by Nextgrid on Sunday March 15, 2020 @12:07PM (#22584180)
Yes, I understand that application-level exceptions can sometimes be "budgeted for" and a certain amount of them is acceptable.

Hardware metrics on the other hand should IMO be monitored and alerts should be in place for when things go wrong, as the consequences of it could potentially be way more serious.

Re:Finding a problem at the bottom of the Google stack by jefftk on Sunday March 15, 2020 @09:06PM (#22588573)
Things look very different when you have as much hardware as Google does.

(Disclosure: I work for Google)

Re:Finding a problem at the bottom of the Google stack by pas on Monday March 16, 2020 @04:50AM (#22591066)
When the CPU hits the thermal envelope regularly and throttles itself that seems like a serious enough problem. Sure, if it's a normal part of cost optimization, then it won't stand out.
Re:Finding a problem at the bottom of the Google stack by insomniacity on Sunday March 15, 2020 @02:18PM (#22585390)
I've never worked at a FAANG, but there is a school of thought that if an error/alert isn't impacting your SLO, you don't care.

As they said, it was within the error budget, which means that they could instead focus on delivering new features. When the errors go out of budget, they stop delivering features and start delivering fixes to bring it back in budget.

It's the kind of attitude you can have at that scale.

Re:Finding a problem at the bottom of the Google stack by mmckeen on Sunday March 15, 2020 @03:02PM (#22585756)
It's the kind of attitude you kinda have to have at that scale, otherwise it's very hard to balance your time between shipping features or fixing issues (you end up biasing towards one side or the other for the detriment of the overall product/team).
Re:Finding a problem at the bottom of the Google stack by mjw1007 on Sunday March 15, 2020 @12:41PM (#22584429)
Right. High temperature and thermal throttling are things that can and should be monitored directly.

Spotting it by digging down from service-level monitoring instead isn't terrible, but it isn't something to be proud of either.

Re:Finding a problem at the bottom of the Google stack by thedance on Sunday March 15, 2020 @02:04PM (#22585249)
It’s just the org chart being reflected in their stack architecture. There is a group responsible for machine health. That group doesn’t run any services. There is a group that operates GFEs. They don’t own any machines.
Re:Finding a problem at the bottom of the Google stack by fragmede on Monday March 16, 2020 @03:56AM (#22590868)
Does that imply a SaaS-based revision to Conway's law?

(GFEs are a reverse proxy that terminates TCP for Google. https://landing.google.com/sre/sre-book/chapters/production-... )

Re:Finding a problem at the bottom of the Google stack by bryanrasmussen on Sunday March 15, 2020 @01:55PM (#22585171)
maybe something to be proud of by the person who actually did the digging down.
Re:Finding a problem at the bottom of the Google stack by dlandis on Sunday March 15, 2020 @02:38PM (#22585560)
> The SRE tracked the problem all the way from an external, front-end system down to the hardware that holds up the machines.

I agree, this does seem like an incredibly circuitous and inefficient route to diagnosing the issue, as opposed to the hardware team simply receiving an alert that a server was continuously in an overheated, and then fixing it.

Re:Finding a problem at the bottom of the Google stack by jldugger on Sunday March 15, 2020 @03:04PM (#22585771)
In my experience the breakfix team has no shortage of work to be done relative to staffing. But they have no insight into the relative priorities of things. That's where your customer metrics and in depth investigation helps.

It's entirely possible a server overheating ticket was in the queue so to speak, and the investigation ends up re-prioritizing an alarm that recovered before anyone was on site to fix it.

Re:Finding a problem at the bottom of the Google stack by Forge36 on Sunday March 15, 2020 @12:08PM (#22584188)
>an abnormally high number of errors

I wonder what the initial errors being logged were. Based on the post >These errors indicated CPU throttling

It sounds like the first tool is "show error counts".

It might have been "production is slower than normal, please investigate"

Your suggestion sounds like a good way to flag future issues "1 in 50 racks for X is running a temp", however I'm curious what the false positive rate would be. What if it isn't causing problems? Maybe you've spotted smoke.

Re:Finding a problem at the bottom of the Google stack by Nextgrid on Sunday March 15, 2020 @12:12PM (#22584209)
My suggestion is that the on-site people should have alerts about hardware events. Unless it's a failing sensor, there shouldn't be any false positives - if a machine is exceeding its recommended operating temperature it's still not good and warrants an investigation even if it isn't yet causing problems (in fact the point of these alerts is to catch and fix these issues before they cause any user-facing issues).
Re:Finding a problem at the bottom of the Google stack by Forge36 on Sunday March 15, 2020 @01:44PM (#22585040)
That I like. From the photos it's also obvious the rack is tipping. I'm curious why someone isn't doing a regular walkthrough. There could also be sounds of some hardware failures.

A remote SRE shouldn't need to monitor the hardware health, an on-site person should have caught this sooner.

I wonder how the person responsible for fixing/replacing the wheels felt about the follow-up

Re:Finding a problem at the bottom of the Google stack by cameronbrown on Sunday March 15, 2020 @02:17PM (#22585379)
Sure - the issue is we (the public reading this) don't know when this actually physically failed. It could be that SRE picked up on this before a scheduled walkthrough (of which I'm sure occurs) happened.

Disclaimer: Google employee. No knowledge of this event beyond the blog post.

Re:Finding a problem at the bottom of the Google stack by jldugger on Sunday March 15, 2020 @12:51PM (#22584504)
If BGP is busted, those errors were probably stuff like connection timeouts on services running inside borg/k8s.

But like, it's not impossible to measure temp on devices. It's entirely possible to design a temp monitor that tracks the physical grouping of equipment: datacenter -> aisle -> rack -> server

The real question is one of prioritization: if a rack's temp has raised but there's no customer error, is it an immediate problem?

Re:Finding a problem at the bottom of the Google stack by cowsandmilk on Sunday March 15, 2020 @01:10PM (#22584704)
> if a rack's temp has raised but there's no customer error, is it an immediate problem?

Here, the problem was on a machine running a google application, so they noticed. But this is a post on the google cloud blog. This just makes me think that Google isn’t monitoring the health of the hardware they provide to customers in the cloud. It is a change you have to make when you change the layer at which you are providing services to customers. If I’m using the google maps web site, I don’t care if they are monitoring cpu temperature if layers above insulate me from impact. If I’m spinning up a virtual machine, I will be directly impacted.

Re:Finding a problem at the bottom of the Google stack by jldugger on Sunday March 15, 2020 @03:08PM (#22585793)
Netflix keynotes described how entire AWS AZs can and will go offline, and how to induce failures to exercise recovery paths, so why is the evaluation criteria for GCP 'my single point of failure VM cannot ever go down?'
Re:Finding a problem at the bottom of the Google stack by AlphaSite on Sunday March 15, 2020 @04:04PM (#22586259)
Most companies are not Netflix and I’m not sure I understand why we are discussing AWS?

That post is more a statement on how errors which can be handled at the app layer can have catastrophic effects on lower level components. You cannot assume end customers are running thing at the scale or with the fault tolerance of google, or Netflix.

Re:Finding a problem at the bottom of the Google stack by jldugger on Monday March 16, 2020 @01:12AM (#22590206)
Most companies are not Netflix but all cloud customers can learn from their public design discussions. The only reason I mentioned AWS is that they are Netflix a high profile AWS customer, and their lessons in cloud architecture apply pretty cleanly to GCP. You cannot assume an SLA of 100 percent, even if it works out that way on shorter time scales. It's really no different than running your own datacenter, so I don't know where this 'monitoring will prevent catastrophy' fight is coming from.

> You cannot assume end customers are running thing at the scale or with the fault tolerance of google, or Netflix.

Correct, but there's a gradient between 'we have 10 copies of the service in 10 different countries and use Akamai GTM in case of outage' and Dave's one-off-VM. One-off VMs are fine if you know what you're getting into, and I use that setup for my personal, lowstakes & zero revenue website. But if you are a paying cloud customer, it makes sense to pay attention to availability zones regardless of scale.

And sure, there might be a market somewhere for a more durable VM setup. At a past non-profit job we provided customers the illusion of a single HA VM using Ganeti (http://www.ganeti.org/). But it's not clear to me that the segment is viable -- customers at the low and top end don't need the HA.

Re:Finding a problem at the bottom of the Google stack by joshuamorton on Sunday March 15, 2020 @04:12PM (#22586317)
Certainly, but you're making the assumption that Google does assume that.

Its completely possible to have different alerting setups for different binaries, and consider CPU throttling to not be a page-worthy issue for GFEs, but to be page-worthy for GCP jobs.

Re:Finding a problem at the bottom of the Google stack by Dylan16807 on Monday March 16, 2020 @07:19AM (#22591727)
> The real question is one of prioritization: if a rack's temp has raised but there's no customer error, is it an immediate problem?

A server CPU that's thermal throttling is about one step less serious than shutting off. While it's not urgent to deal with dead machines, a dying machine should be in the top priority bracket you see on a day-to-day basis.

Re:Finding a problem at the bottom of the Google stack by pas on Monday March 16, 2020 @04:57AM (#22591100)
What's wrong with looking at smoke? Maybe it pays off to put the smokey ones into a separate class, eg batch processing, so they will unlikely impact frontend serving requests.
Re:Finding a problem at the bottom of the Google stack by H8crilA on Sunday March 15, 2020 @01:03PM (#22584629)
Probably because it had never happened before. And I bet this is in the "recommendations for the future", or whatever it's called, section of this postmortem.
Re:Finding a problem at the bottom of the Google stack by bluedino on Sunday March 15, 2020 @01:13PM (#22584737)
They probably had throttling alerts back in the Sandy Bridge days (it was common for Linux machines to hit 100% CPU usage but not actually do anything back then because of some kernel bugs), you'd think they'd have them monitored.
Re:Finding a problem at the bottom of the Google stack by thedance on Sunday March 15, 2020 @02:06PM (#22585278)
Overheating machines is very common. Even if you only own ten thousand machines it’s pretty much assured you’ve got one machine out there with a cracked heat sink or similar thermal issue.
Re:Finding a problem at the bottom of the Google stack by mrep on Sunday March 15, 2020 @05:31PM (#22586955)
But at google scale, you'd think they would have something for that. At a previous company I worked at, we had a guy whose entire job was to monitor temperatures throughout all of our data centers. He built a service that collected minute by minute temperature metrics on every server in every datacenter. Once collected it would create automated tickets for data center technicians to investigate when servers and racks got too hot. He even built this cool website where you could view real time maps of each rack and their temperature in every datacenter so that operations teams could visualize the high temperature areas in the data centers.
Re:Finding a problem at the bottom of the Google stack by thedance on Sunday March 15, 2020 @09:15PM (#22588629)
It's not that they don't know, it's that they don't care. Hot machines go into an attention queue and some tech eventually fixes it. Meanwhile, they serve. As I commented elsewhere, I think it's an effective incentive for software to grow more sophisticated. In fleets that are promptly fixed, there may be a tendency to assume that, for example, all backends are equally suited to receive an RPC. Having a lot of ambient brokenness can be helpful, as Netflix advocates with "chaos monkey".
Re:Finding a problem at the bottom of the Google stack by jpollock on Sunday March 15, 2020 @12:04PM (#22584159)
Because the heat increase would have been pretty much immediate after the wheel failed. This wouldn't have been a gradual degradation.
Re:Finding a problem at the bottom of the Google stack by caconym_ on Sunday March 15, 2020 @12:04PM (#22584163)
> Rare, unexpected chains of events happen often. Some have visible impact, but most don't.
Re:Finding a problem at the bottom of the Google stack by maxwindiff on Sunday March 15, 2020 @05:26PM (#22586905)
Waste heat production scales with system load.
Re:Finding a problem at the bottom of the Google stack by IshKebab on Sunday March 15, 2020 @12:07PM (#22584179)
Seems like they don't even have alerts to let them know when they lose emails in your gmail account: https://support.google.com/mail/thread/6187016?hl=en

Still, stuff like this is really hard. It's easy to think of what should have been done in hindsight.