Everything fails eventually – how do you recover? Carl and Richard talk to Barry O’Reilly about building anti-fragile systems. Anti-fragility is the philosophy of accepting that things can break and you need to be able to detect and recover from that failure, whatever form it might take. Barry talks about the four aspects of anti-fragility: redundancy, diversity, modularity and loose-coupling. They’re all common terms, but understanding how to do them well within your system is a challenge. How reliable do you need to be? What’s an acceptable level of failure? This is what modern software systems are all about!