How would you design a highly available web application architecture across multiple availability zones?