Resilient Computer System Design