Live data from Hacker News

Summary of the Amazon S3 Service Disruption

aws.amazon.com

331–340 of 535 posts

Re: Summary of the Amazon S3 Service Disruption

#331

This is the risk you run into by doing everything through the command line. This would be really hard to do through a good GUI.

I highly doubt this claim, humans make mistakes regardless of the control method. In this particular case the scripts didn't have adequate protections in place, but that's the benefit of hindsight

Or the benefit of testing.

Re: Summary of the Amazon S3 Service Disruption

#332

This is the risk you run into by doing everything through the command line. This would be really hard to do through a good GUI.

It would be equally as hard through a good command line. Why is good design only possible in GUIs?

It's easier for humans to conceptualize what is happening if you visualize the design for them.

A good command line would better protection would have helped, but this fails some of the core of good interface design.

Re: Summary of the Amazon S3 Service Disruption

#333

Earlier quoted context omitted.

Yeah as soon as I read this I felt bad for the employee. I remember writing an update statement without a where clause and having to restore the table from backup. But that was at a company not as advanced as Amazon. Fat fingering a key like that is just crazy (but comforting that even at Amazon it happens) and I'm sure they've fixed that from happening again.

FWIW: Setting "safe-updates=1" in ~/.my.cnf will require UPDATE and DELETE statements in the client to have a WHERE clause which references a key. It's not perfect protection, but it will save you from a lot of mistakes.

That's awesome,

My worst DELETE fail however was:

  DELETE * FROM table WHERE [long condition that resolves to true for all records]
Now i write SELECT or SELECT COUNT(*) over and over again until i see the data i expect and then change it to a DELETE/UPDATE.

It's not my personal habit but some folks I know turn off auto commit and BEGIN a transaction every time they enter an interactive SQL sessions. They then default to ROLLBACK at least once before COMMITing them.

That and having a user with read-only permissions or a read replica

Re: Summary of the Amazon S3 Service Disruption

#334
Twitter once had 2 hours of downtime because an operations engineer accidentally asked a tool to restart all memcached servers instead of a certain server. The tool was then changed to make sure that you couldn't restart more than a few servers without additional confirmation. Sounds very similar to this situation. Something to think about when you are building your tools to be more error proof.

Re: Summary of the Amazon S3 Service Disruption

#335
post #153

Earlier quoted context omitted.

Look at the language used though. This is saying very loudly "Look, this isn't the engineer's fault here". It's one thing I miss about Amazon's culture- not blaming people when system's fail. The follow-up doesn't bullshit with "extra training to make sure no one does this again", it says (effectively) "we're going to make this impossible to happen again, even if someone makes a mistake".

Which is really the point of automation and configuration management. When a manager asks you, "How are you going to prevent this in the future?" You can say, "We added a check so n must be less than x% of the total number of cluster members," or "We added additional unit tests for the missing area of coverage" or "We added new integration tests that will pick up on this." Tests and configuration scripts don't preven…

I agree testing and automation are good. I think they need to go beyond this to formal verification, for something on this scale and reliability. NASA doesn't make these sorts of mistakes.

By the way - this is not just Amazon's problem now. We know the internet has a single point of failure. So does a lot of IoT.

When will we experience the first Suicide DevOps?

Re: Summary of the Amazon S3 Service Disruption

#336

Earlier quoted context omitted.

I think it comes down to how important your ELB logs are -- if they are important enough that you don't want to allow traffic without logs (i.e. if you're using them for some sort of auditing/compliance), then failing when it can't write the logs seems like the right choice.

Thanks, that is a fair perspective. In our case we're using ELB logs as a redundant trace and it isn't critical that our traffic stops if the access logs fail. It would be nice if this behavior became a toggle in ELB settings, but think we can set something up to disable access logs programatically if we start seeing S3 issues.

Good luck with this. We tried to make changes yesterday to mitigate impact but AWS console was also affected. Was hesitant to make API calls for the changes since we werent sure they would complete successfully given all the services we found actually depended on S3 internally.

Re: Summary of the Amazon S3 Service Disruption

#337
post #8

> At 9:37AM PST, an authorized S3 team member using an established playbook executed a command which was intended to remove a small number of servers for one of the S3 subsystems that is used by the S3 billing process. Unfortunately, one of the inputs to the command was entered incorrectly and a larger set of servers was removed than intended. It remains amazing to me that even with all the layers of automation, the…

To be fair, the real problem isn't that someone screwed up a playbook or command. The real problem is that a tiny mistake in a command can cause an entire service to be disrupted for hours. That's the problem that needs to be fixed.

To be fair, it looks like you agree with AWS on this point.

Re: Summary of the Amazon S3 Service Disruption

#338
post #322

Earlier quoted context omitted.

Yeah indeed. You know who the one person at Amazon is that I'd expect to never fat finger a sensitive command ever ever again? The guy who managed to fat finger S3 on Tuesday. Firing him over this mistake is worse than pointless, it offers absolution to every other developer and system that helped cause this event.

That old chestnut. Is it true?

Is it not true for you? I know that I'm personally good at avoiding the same mistake. I'm also extraordinarily good at avoiding repeating catastrophic mistakes. I generally change my processes in the same way that Amazon is changing their processes to avoid this mistake.

Re: Summary of the Amazon S3 Service Disruption

#339

Take a moment to look at the construction of this report. There is no easily readable timeline. It is not discoverable from anywhere outside of social media or directly searching for it. As far as I know, customers were not emailed about this - I certainly wasn't. You're an important business, AWS. Burying outage retrospectives and live service health data is what I expect from a much smaller shop, not the leader in…

Also notably missing is the "we will automatically refund all affected customers" line that we'd expect from somebody who wants to provide excellent service. A graphical illustration of the service dependencies they were talking about would have been nice as well.

I mean, it's in the SLA that they have to refund 10% for the billing period IIRC.

Re: Summary of the Amazon S3 Service Disruption

#340
post #2

I wouldn't want to be the person who wrote the wrong command! Sheesh.

I brought down our production system after a typo in a command once... the dev team took the blame for allowing an illegal parameter to bring down the system.

Me too. I accidentally SSH'd into the wrong data center and ran a for loop restarting every database server once.

Fixed that by putting the DC domain in red on the prompt.

Post reply on HN