Distributed systems design aside, the core of the problem is that they relied on ntp (as they probably should), and in their case ntp was not working properly.
There are people who have to. They run their own atomic clocks, and worry about things such as precision delivery of nuclear ordanance.
Then there's you. You should use vector clocks, with a builtin conflict resolution mechanism based on domain knowledge.
That's the point of the article.
That should be on a cross-stitch sampler on the wall of every NOC.