how elastic load balancers and auto scaling keep your app running smoothly