3 ms·
The post-mortem is missing important pieces. 1) When was the problem detected? 2) How was the problem detected: automated monitoring, operator vigilance, or cu
by thrownaway2424 14y ago
The post-mortem is missing important pieces.
1) When was the problem detected?
2) How was the problem detected: automated monitoring, operator vigilance, or customer complaints?
3) When were customers first notified of the outage?
This post-mortem starts out with the root cause, but it is likely that was not known until after the outage had ended, so it's important to know how much time passed between the root cause event and when the on-call engineer(s) started treating the outage as such.
I'd also be interested in hearing about technical measures they will use to prevent this in the future. It sounds like their mitigation measures are all social, not technical. For example, do their configuration tools warn them when they are about the push out a huge delta? Do they have a review process that forces two people to look at the change before it's put into action? Would these have prevented the outage?
Finally, I think it's appalling (but not surprising) that it took many hours to revert their configs. It sounds like the tools they are using are way too slow. Any laptop can do an enormous amount of work in an hour; the computing resources available to Amazon can perform truly insane feats in one minute. Slow configuration tools are easy to write but prolong outages. They should be designed to the same standards as production applications.
- Xylakant 14y agoI think the measures they implement to prevent this failure are adequate. Changing access control patterns so that not a single person but at least two persons must allow the job to run are sufficient as a quick fix. They also mention changing the future architecture to automate such maintenance jobs and to make data recovery faster. So it is indeed a mix of process and technical measures, much as the problem was caused by more of a process problem rather than a technical problem. Finally I don't think that the computational part of the data recovery is the time intensive one. A laptop may churn through gigabytes and gigabytes a minute, but a developer can't. In this case the more time intensive part is probably figuring out which parts of the data got lost and how to get them back, then writing the tools to automate the process, test that the data fits and then put it safely back in production. I understand that it's annoying, but theres only so many flops a human brain can run.