How do you balance trade-offs in distributed systems when designing for scalability, reliability, and cost at Persistent Systems?