Here’s a brilliant feature located in the Azure universe – the Traffic Manager. If you haven’t heard about it, let me introduce you to it. The Traffic Manager is a solution that lets you load-balance your websites and services, and it’s super easy to use.
It’s a DNS based feature that helps you to deliver the best endpoints for your users. In short, the Traffic Manager is a way to aggregate multiple endpoints and apply clever techniques to determine which endpoints to serve.
When you create a new Traffic Manager in the Azure portal, you’ll also configure a DNS prefix for it. If you’re already using a custom domain name, you should point it towards this DNS prefix.
So how do you determine which endpoint to deliver through the Traffic Manager? While it’s extremely easy to get going with, you also have a few ways of configuring it. First off you’ll have to determine which load-balancing method to use. The load-balancing method is what ultimately determines which endpoint that will be served to the user. Let me talk about the different load-balancing methods that you can use:
Performance If you’d like to load-balance your service or website between different regions (datacenters/geographic locations) – use the performance method. With the performance method you’re able to direct traffic to the endpoint with the lowest latency from the user (“closest” to the client).
Round robin Use this method when you’d like to distribute load across multiple datacenters (within the same datacenter and different datacenters). Please note that if you’re using an Azure Website, it’s already load-balanced using this method within the same datacenter. However, you can leverage this method to extend this functionality across multiple datacenters.
Failover The failover method is a great way of ensuring that your website or service is up and running at all times. With this method you’ll get to prioritize a set of endpoints and have backup endpoints kick in if your primary endpoints should become unavailable.
Let’s get into a scenario here: The following image should demonstrate how a Traffic Manager may be used to improve the availability of an existing website or service. I’ll be using the performance method for the load-balancing in this case.
Initially, a user sets of to reach contoso.com – because we configured our domain name correctly, we’ll reach the Traffic Manager operating at contoso.trafficmanager.net.
Let’s imagine our user is located somewhere in Europe, near the datacenter that hosts our europe.contoso.com endpoint. Our Traffic Manager will now figure out that the latency between our user and the Europe based website is (in a normal and balanced scenario) the lowest, and therefore serve the European endpoint back to the user.
What happens if an endpoint becomes unavailable?
Imagine that the European endpoint (europe.contoso.com) becomes unavailable. The Traffic Manager will simply serve the endpoint with the lowest latency; in this case – either the one located in USA (usa.contoso.com) or the one in Asia (asia.contoso.com) . In addition, this makes the Traffic Manager a great tool for taking down websites or services for maintenance and upgrades. Simply disable the endpoints that you wish to take down in the Azure portal, and make sure to keep at least one running as the fallback.
If all of the endpoints that you listed while configuring the Traffic Manager are unavailable, the Traffic Manager will start pinging the endpoints every 30 seconds. Gradually it will start pinging more frequently, up to every 5 seconds until all the endpoints are available again.
In conclusion, the Traffic Manager feature is incredible easy to get going with. It’s without doubt a powerful necessity for anyone that wishes to improve and ensure the availability of their website or service.
If you wish learn more about the Traffic Manager (pricing details, the REST API, etc.), head to: http://msdn.microsoft.com/en-us/library/azure/hh745750.aspx