AWS Cross-Zone Load Balancing solves Akamai DNS caching

AWS's Elastic Load Balancers (ELBs) have often had issues with services that cache DNS lookups.  Akamai is an example of one service where we have had to deal with this.  As you may already know, lookups against an ELB's DNS address can return several IPs, and each of these IPs correspond to a particular Availability Zone (AZ).  This offers you the conventional DNS round-robin method of load balancing.   When these IPs are cached, however, there have often been problems with Akamai edge servers.  

In the past, assuming we wanted to continue using AWS ELBs, the solution was to contact Akamai support so that they could tweak their DNS caching configuration to reduce this possibility and have a more distributed load across AZs.  With this new Cross-Zone Load Balancing feature, this is not necessary!  Regardless of which ELB AZ's IP is cached, the request will then be routed evenly across all back-end instances, which solves the IP caching issue.  

Another big problem this resolves is one of AZ scaling.  Let's assume, for example, that you are using an ELB to load balance over three AZs, each containing one EC2 instance.  If you wanted to properly scale horizontally, you would have to increase the number of instances in each AZ equally, which means adding three additional instances.  This could get expensive if all you really needed was just one additional instance to preserve capacity.  AWS's Cross-Zone Load Balancing solves this issue.   

You, of course, still need to be aware of fault-tolerance, and running too many instances in one AZ over another, which could be an issue in the case of an AZ-wide outage.  But, if you need to quickly or temporarily scale, Cross-Zone Load Balancing does the trick. For more information, see AWS's announcement here.