System Design 101: Understanding Scaling and Load Balancers