https://medium.com/@profoliohub/designing-for-fault-tolerance-in-system-design-interviews-e0636ba9c4b0