Obviously, Amazon EC2 servers are still running on physical hardware and therefore can have catastrophic failures. And architecturally, I should be building an app that scales horizontally and works around those failures.
How can I simulate an EC2 instance suddenly breaking down? This should have characteristics of a real equipment failure:
- Processes don't terminate cleanly.
- Data in memory is not given a chance to write to disk.
- Files (e.g., on EBS volumes) are not cleanly closed.
- Open sockets don't FIN, they just hang.