Why AWS systems are built on “Design to Fail” approach?

At the core of an AWS system is, “Design for Fail” principle. It means if we design the software for failure nothing will fail.

If we follow a pessimist approach while designing architecture in the cloud, we will assume that things will fail. To handle such failure, we will always create a system that can have automated recovery from failure.

An AWS system is designed to automatically recover from design, execution and deploy stage failures.