Azure Traffic Manager Nedir?
Traffic Manager DNS trafiğini yönetmek için kullanılan bir azure servisidir. Bu servis ile trafiği DNS seviyesinde kendi seçtiğiniz Routing Methodlara göre(performance, weighted, priorty) yönlendirebilirsiniz. Konfiurasyonu çok basit olan bu servis ile uygulamanızın fail over yönlendirmesini , uygulamaya ait A/B testini veya kullanıcıyı performansı en iyi olan data center a yönlendirme işlemlerini yapabilirsiniz.
Routing Method (Load-balancing method)
Azure Traffic Manager trafiği yönlendirmek için 3 method sunar. Performance, Priority, Weighted.
Performance
Uygulamanız farklı coğrafi lokasyonlarda hizmet veriyorsa, Performance methodu ile kullanıcılarınızı en yakın olduğu hizmet noktasına yönlendirerek kullanıcının uygulamanıza daha hızlı ulaşmasını sağlayabilirsiniz.

Priority ( Failover method )
Uygulamanızın fail over senaryosunda, trafiğin istediğiniz endpointleri yönlenmesini Priority methodu ile sağlayabilirsiniz. Bu method için konfigurasyonda integer olarak değer girilir ve düşük girilen değer öncelikli çalışır.

Weighted (Round-robin method)
Uygulamanızın trafiğini birden fazka endpointe vermiş olduğunuz ağırlıklara göre dağıtmak için Weighted metodunu kullanabilirsiniz. Endpointlere atanan integer değeri, aktif olan endpointlerine atanan değerlerin toplamı oranındaki trafiği o oranda dağıtacaktır.

Endpoint Type
3 tip Endpoint tipi ve bu tiplere ait target resource type lar vardır. Azure Endpoint, External Endpoint, Nested Endpoint.
Azure Endpoint
4 tür target resource type ı vardır.
- Cloud Service
- App Service
- App Service Slot
- Public IP Address
External Endpoint
Azure dışında host edilen veya farklı bir barındırma sağlayıcısı bulunan hizmetler için kullanılır.
Nested Endpoint
Büyük ve karmaşık dağıtım ihtiyaçlarını desteklemek için daha esnek trafik yönlendirme şemaları oluşturmak üzere Trafik Manager profillerini birleştirmek için kullanılır.
Konfigurasyonu:
Routing method: Performance, Priority veya Weighted seçebilirsiniz. Yukarda hangi metodun hangi amaçla kullanıldığını açıklamıştık.
DNS time to live (TTL): Burda vermiş olduğunuz değer süresince kullanıcı yönlenmiş olduğu endpointten devam edecektir.
Path: Tanımlanan endpointler için Azure Traffic Manager healthcheck için bu path i kullanır ve buraya atanan path değerinden dönen response status code un 200 olması durumunda endpoint status değerini Online olarak set eder. Diğer durumlarda endpoint status u Degraded olarak kalır.
Sonuç
Şirket içindeki projelerimizde Azure Traffic Manager ı aktif olarak kullandık. Admin projeleri için Priority metodunu kullandık çünkü admin bu projeleri failover olarak çalışacak şekilde kurguladık. Site projelerinde hem A/B testleri hem de farklı lokasyonlarda çalıştırdığımız için Weighted metodunu kullandık. Azure Traffic Manager oluşturulurken Location Resource Group istemiş olsa da Global olarak çalışır ve seçilen location da sıkıntı olsa bile çalışmaya devam edecektir.
