How would you design a high-availability system that maintains data integrity while scaling for Appfolio?