I have to say, the way you fought your downtime with full transparency in February this year was amazing.
So, this is my question for you. Just like how buildings have mock fire drills, do you think programmers should simulate failures?
Let's face it, downtime is bad and no one wants it. That being said, one should be prepared to handle it. A team of engineers can take the test environment down and another team will try to bring it back up. So, when production actually goes down (god forbid), the engineers will be acclimatized to handling it in a nice way.