How would you design a highly available architecture for a real-time bidding application with sudden traffic spikes at Epsilon?