Designing for failure

I was chatting to an Enterprise Architect about how modern cloud infrastructure is ‘designed for failure’, that is, accepting that isolated failures are inevitable and can be anticipated and so systems designed to deal with them.

It made me think about how you could use the same approach in designing services and businesses. So, rather than only designing for success by setting goals, objectives, milestones, etc., you could assume certain points of failure in the business model and implement alternative failsafes. I’m not sure what this unreliance on a single means would look like in practice but I think it’s worth thinking about it some more.