After installing ArcGIS Enterprise (aka ArcGIS for Server 10.5) an Azure LoadBalancer instance is created, in addition to a configured ESRI webadaptor being installed. It's unclear (not documented) what role the LoadBalancer plays and how it works with the ESRI web adaptor. It seems that they potentially do the same thing which is load balancing. Below is a screen shot of a single server install. In a multi-site install the contents of the resource group are the same with the exception that there are more hosts. The creation of the LoadBalancer is new to 10.5, what is it doing?

This question is covered for AWS and can be found on an ESRI FAQ titled Is ArcGIS Web Adaptor installed when I create my site with Cloud Builder? but a similar answer for Azure does not exist.

enter image description here

  • right...why is there a loadbalancer and the webadaptor. You don't have to have a web adaptor with a server instance so why is cloud builder installing one if it is using the azure LoadBalancer or Why is LoadBalancer installed if web adaptor is being used. – risail Feb 23 '17 at 19:49

From my understanding -- and from how I have used them in the past -- the webadaptor is just a way to route from standard web ports to the ports of your ArcGIS Server so that your applications can easily communicate with the ArcGIS REST Services (especially when your web service is on a different server or where firewalls/authentication are involved). For example, the webadaptor might route requests coming into Port 80 to 6080, or Port 443 to 6443, and manage the subsequent authentication from the application into the REST services on an ArcGIS Server. I have had cases in the past where two web adapters were installed on each ArcGIS Server machine to route differently for both HTTP and HTTPS applications.

Load balancing, on the other hand, manages traffic before it hits the web service/server to try to spread the traffic among multiple instances if you have them. If you happened to have two identical ArcGIS Servers to manage traffic loads and offer high availability during upgrades and maintenance, for example, then you would have one load balancer balancing traffic between the two servers, but you would have a webadaptor on each server communicating between the web service and the ArcGIS Server. If one server went down or was taken down for maintenance/upgrades, then the load balancer would route everyone to the server that was still up.

See a visual example here showing high availability for an ArcGIS Server Portal setup: http://server.arcgis.com/en/portal/latest/administer/linux/configuring-a-highly-available-portal.htm

|improve this answer|||||
  • Thanks but Web adaptor does this as well "If one server went down or was taken down for maintenance/upgrades, then the load balancer would route everyone to the server that was still up." The webadaptor is nothing more than a proprietary load balancer. I'm not sure there is a reason for it, it's just redundant design. A cluster can function with either. – risail Apr 3 '17 at 13:21
  • I respectfully disagree in that the Web Adaptor is meant to wrangle the web ports after you hit the server. The load balancer is designed to route before you hit the server. Just because you can use the Web Adaptor as a psuedo-load balancer does not mean it is the same thing. – MapLion Apr 3 '17 at 19:12
  • I agree with what you are saying, they perform a similar function in a different order. – risail Apr 3 '17 at 19:15
  • Correct, it looks something like this: Internet/outside -> firewall -> load balancer -> server -> IIS (Port 80) -> Web Adaptor -> ArcGIS Server (Port 6080). – MapLion Apr 3 '17 at 19:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.