I frequently have to install ArcGIS Server (AGS) here in the office, it’s an essential peice of kit for our development of ArcGIS Explorer (AGX). We install server on a single machine and it’s accessed by a handful of people on the team, this is straight -forward and trouble free…but it’s a long way from a real world enterprise installation.
I’m convinced there is a successful business model (somewhere) for someone to build a server farm, install AGS and provide virtual hosting for ESRI customers – who perhaps don’t want the hassle of maintaining an enterprise AGS setup. I know Kirk and Brian have mulled over this situation and touted Amazon EC2 style solutions. Talking with my mate Phil, we pondered exactly what would be required apart from a big expensive pipe in & out.
One thing we decided would require some additional thought is how to manage load balancing of servers. The Server Object Manager (SOM), which spawns the Server Object Containers (SOC’s) – where the work is undertaken for each interaction with the server, will to some degree balance the load between SOC machines, but what happens when you have so many requests being made to the SOM, that one machine can’t handle all of them?
As it happens Ray Echevarria, from ESRI Implementation Services, has looked into such a situation and published his findings in a whitepaper. I’ve copied a diagram from his pdf that illustrates his test configuration:
Ray configured ArcGIS Server 9.1 to work with the Network Load Balancing (NLB) functionality, NLB is included with Windows Server 2003 Standard Edition and is designed to load balance between multiple network nodes. The following tests were performed for an HTML client requesting map services from a pooled AGS object:
- Tested simulated failure of a Web Server to ensure that client requests were re-routed to the surviving Web Server via NLB control logic.
- Tested fail-back after rebooting a Web Server to ensure that client requests were once again load balanced between the two Web Servers via NLB logic.
- Tested simulated failure of a Map Server to ensure that client requests were re-routed to the surviving SOC via SOM logic
- Tested fail-back following a Map Server reboot to ensure that client requests were once again load balanced between the two SOCs via SOM logic.
For more on Rays findings, checkout his document AGS 9.x High-Availability Configuration Testing Using Microsoft Load Balancing.