If you configure Windows Azure’s traffic manager to implement web servers with high availability scenarios, when they are distributed in different geo datacenters, scaling out scenarios in a fail over or more commonly distributing traffic across multiple web servers then in my experience that it would do a really fantastic job on solving the issue with relatively easy configuration.
However one serious limitation with Windows Azure traffic manager is its public endpoint does not have static IP address although it has static DNS name which is something like “xxxx.trafficmanger.net”. Everybody knows that this would be utterly no problem at all if you have one public facing endpoint IP. Issue becomes overwhelming especially if your site has to support root domain with traffic manager (a.k.a naked domains or root domain).
Here is why… Let’s say you have a website “myawesomesite.net”. If user enters following you need to point your users to your hosted web server or traffic manager endpoint (“myawesomesite.trafficmanger.net”).
When you configure DNS for your site you might need to enter “A” record for your root domain (“myawesomesite.net”) and in the IP address you need to enter your webserver’s public IP address. If you manage large CMS this is unavoidable since occasionally some customers prefer root domain over “www”. Here initial subdomain name can arbitrarily be selected in Windows azure traffic manager unless it is not already being taken by someone else. So it ends up something like “xxxx.trafficmanger.net”. Issue here is Azure’s traffic manager does not have static IP address. Since Traffic Manager works at the DNS level, not the IP level, there is no such thing as an IP address for a Traffic Manager endpoint. Your traffic does not transit through Traffic Manager. But for http://www.myawesomesite.net you can easily solve by adding CNAME entry for name “www” and giving “xxxx.trafficmanger.net” for pointer location since CNAME entries do accept FQDNs.
But still “myawesomesite.net” issue remains since CNAME entries do not allow to take root domains and “A” records only accepts public facing IP addresses, it appears to be hardly solvable but luckily there is solution for it. It appears some DNS providers these days’ supports aliases. So what are aliases in DNS? An ALIAS record is a virtual record type that created to provide CNAME-like behavior on apex domains. What does this means is you can create apex or root domain entries that points to whatever DNS names you have like in this case Windows Azure traffic manager end point’s DNS name.
One that I found to support this is http://www.dnsimple.com one additional benefit with it is it has built in support to Windows azure websites. When it comes to domain name verifying etc. process of adding “awverify.yourdomainname” is super easy, they have built in support for Windows Azure. Sadly I had to switch from old DNS which didn’t support it. At the time of writing only some of the DNS providers support this. Note: This is not to be confused with domain name registrars.