What is the Best Practice Setup for Azure Traffic Monitor? - azure

We have a client that we have setup two webservers running about a dozen different websites spread over each webserver for each site (so site 1 is running on both webservers, site 2 is running on both ect).
We want to setup load balancing (presumably with Traffic Manager) so that it will spread the load and monitor the sites availability across both the web servers per site and not per virtual machine like the regular Azure load balanced sets do.
It seems that traffic manager might be able to do this but we don't know how it works and the documentation is not clear to us about if we can setup the TM per website and not per web server (as we understand it).
Can we setup any load balancing in Azure that will monitor the website itself and not the virtual machine? Because we want to run multiple sites on these two web servers, how do we setup TM do allow this to happen? Do we make a new TM service for each website?
thanks in advance.
UPDATE: do we even need to setup the regular load balancing set at all? Can I not just create a TM and click on the cloud services of each of the web servers and then add the port and relative path to one of the websites? and just repeat this for each website on the two servers? would that be how it should be setup?
Thanks again.

The available endpoints you can define in your Traffic Manager definition is only as granular as your cloud service URLs. So, the quick answer to your question is no.
You may want to look into using Application Request Routing in front of your two servers instead. It does introduce additional server(s) in your configuration but will give you a way to load balance across the sites.
http://www.iis.net/downloads/microsoft/application-request-routing

The answer to this question was custom end points from traffic manager. This will allow Azure to be able to monitor the service for each service or website on a web server within Azure.

Related

How to setup a load balancer with x app services

I have two app services (web apps), running the same code, hosted in azure at.
web1.azurewebsites.net and web2.azurewebsites.net (and possibly webN.azurewebsites.net)
I want to have a single web address (for example https://web1.azurewebsites.net or just any web address) and a load balancer that shares the load between them from the incomming requests.
How do I set up this in Azure. I dont understand the terminology and the guides Ive found is old.
Ive managed to create a Load Balancer with a public (dynamic) IP, but I dont know what host name that would answer to, nor how to connected it to my app services)
Could anyone guide me, either just a tutorial (no generic links please), or some step by step instructions how to do it.
If you want to load balance multiple instances of the exact same app service, you can just scale out your app service plan to let Azure create the instances and do the load balancing for you.
If that doesn't work for your situation or you want to load balance across regions, use a Traffic Manager.

can we use load balancer on a two app services in azure

I am creating a network with 2 app services, containing 2 slots each
I know the load balancers are designed to work with VM's, but I am wondering if it is possible to place a load balencer on these 2 app services to balance the load between them, Is it possible to do so??
When you Scale your Web App you add instances of your current pricing tier and Azure deploys your Web App package to each of them.
There's a Load Balancer over all your instances, so, traffic is automatically load balanced between them. You shouldn't need a Virtual Machine for this and you don't need to configure any extra Traffic Manager.
You may want to refer: scale your app in Azure App Service for more details.
but I am wondering if it is possible to place a load balencer on
these 2 app services to balance the load between them, Is it possible
to do so??
According to your description, maybe you are looking for Azure application gateway(layer 7).
Azure application gateway works at the application layer (Layer 7 in the OSI network reference stack). It acts as a reverse-proxy service, terminating the client connection and forwarding requests to back-end endpoints.
Azure application gateway support HTTP, HTTPS and Websockets.
Here is the features offered by each service:
More information about Application gateway, please refer to this article.
Maybe little late but I guess this what you are looking at
Scale Out- A scale out operation is the equivalent of creating multiple copies of your web site and adding a load balancer to distribute the demand between them. When you scale out a web site in Windows Azure Web Sites there is no need to configure load balancing separately since this is already provided by the platform.
https://azure.microsoft.com/en-us/blog/scaling-up-and-scaling-out-in-windows-azure-web-sites/

Traffic manager with multiple endpoints in same location

I'm trying to add web app endpoints from the same location, to an azure traffic manager, when I try to do this, it tells me that App Service will use load balancing to do this for me, when we apps are in the same location.
My understanding is that load balancing is for distributing requests between multiple VMs on one web app. The plan was to use out single DNS and allow traffic manager to determine which endpoint to go to using round-robin or failover. How will load balancing know to direct to one of the web apps from this single address?
Azure Web Apps already have built in load balancing between instances within the web app. So for example if you have a web app with 10 instances under the endpoint: tester.azurewebsites.net, Azure load balances appropriately across those instances.
When you bring in traffic manager, that is looking for different endpoints to facilitate between. Incoming requests will be routed based on proximity to endpoints it is managing, load and if the endpoint is available. Traffic Manager takes care of all of those complexities for you.
This allows you to have a single endpoint myapp.azurewebsites.net; which may route to myapp-west.azurewebsites.net and myapp-east.azurewebsites.net. That routing as I indicated is based on proximity, load and availability.
How it actually works is the magic sauce of Azure Traffic Manager. I use it in production and it has been working very well for me. I primarily use it for routing based on proximity, and have yet to experience a failure on a web app to test a production failover reroute.
Hope that helps!

How to load balance azure website

Is it possible (and how) to load balance Azure web sites?
Situation is that I have a web site which I deployed to few redundant nodes. Now I would like to set up load balancing for reliability purposes.
I see that load balancing is done using Traffic Manager service which I tried to use, however Traffic Manager doesn't allow me to add a web site endpoint. It only allows me to add a custom virtual machine I have. On a side note, web sites are running in standard mode which means each runs on it's own VM which led me to believe I could load balance them.
I see people create separate VMs with Windows Server and use IIS ARR to perform actual web request load balancing. Is there a way in Azure to load balance web sites directly?
While converting over to web roles can very well suit your needs, an easier alternative may be to simply promote the web site up to the 'standard' tier, then increase the instance count. Windows Azure will then automatically handle load balancing the instances and even help ensure session affinity (which web roles can't do unless you jump through additional hoops).
Why not make your sites use Web Roles?
This only requires a very small change to the project to add a startup class.
These are automatically load balanced.
You are required to have at least two role instances to trigger the SLA.

Website running in the cloud - Azure, replication globally all over MS datacentres?

I am new to Azure and website deployment, and I am trying to make sure I understand how things work. As far as I understand, once I create a website, a web application is created and begins to run in the cloud before publishing my own site even.
I know that the cloud provides scalability, load-balancing (among multiple datacenters), ease of publishing/testing, etc...things that don't exist in traditional web hosting.
So my question is since my website is in the cloud/Azure now, would my website be replicated globally in MS datacenters? If yes, is it something different from load-balancing? in other words, is the idea behind it is to get my site replicated to provide faster access from all over the world. And if all these are correct, I suppose traditional web hosting doesn't support replication.
Sorry for the simple questions, but I really need to understand, and I would appreciate any details you could provide.
Q: So my question is since my website is in the cloud/Azure now, would my website be replicated globally in MS datacenters?
A: Your website won't be automatically replicated globally to all MS datacenters. Each azure service, whether it is an cloud-service, sql-azure, storage, website or VM is located at a location of your choice. Within a location you can scale some of the services to run in multiple instances. If you spawn a new instance your website gets replicated. But it still runs at the same geo-location.
Q: If yes, is it something different from load-balancing?
A: In Azure you need to distinguish between load-balancing and traffic-management. If you run multiple instances within one location, there is only one external URL to reach it. The load-balancer distributes traffic equally to every running service instance.
The Traffic Manager allows you to control the distribution of user traffic to Windows Azure hosted services. The hosted services can be running in the same data center or in different centers across the world. Traffic Manager works by applying an policy engine to the Domain Name Service (DNS) queries on your domain name(s).
So in general, if you want to spread your application all over the world, you have to do it by yourself.
Create your service on all the location of your choice and use Traffic Manager to connect them.

Resources