First Principles: using redundancy and recovery to achieve high durability in OCI Object Storage