Biological immunity and software resilience: two faces of the same coin?