How to make your ArcGIS Enterprise environment robust
Target audience: Enterprise architects often face the question of how to make their IT infrastructure more robust, the aim being to have an environment which is more resilient to failures as well as being able to handle extra load in case the need arises. If you are a GIS enterprise architect or even a GIS administrator and wondering how to do the same, please continue reading.
Background: The ArcGIS Enterprise environment consists of several components such as ArcGIS Portal, ArcGIS Server and ArcGIS Data Store and ArcGIS Web Adaptors. One of the most common architectures known to GIS architects is a single tier architecture known as the Base deployment which is shown here:
In most cases users interact directly with ArcGIS Portal which in turn is fed spatial data via ArcGIS Servers. In scenarios where user wants to upload feature data to the environment, that data is stored in ArcGIS Data Store.
If any of these components fail, then front end users may see a partial or complete outage. In addition, such scenarios can definitely lead to downtime and maybe data loss. To provide a more robust architecture, GIS architects can take advantage of ArcGIS Enterprise High Availability setup.
Definition of ‘High Availability’: A system or component that is continuously operational for a desirably long length of time. Availability can be measured relative to “100% operational” or “never failing.” Such a system eliminates a single point of failure and avoids the issues mentioned above.
Here we will discuss the High Availability setup for each component separately.
ArcGIS Portal high availability (HA) architecture consists of two machines. One machine is assigned the role of Primary and the other is referred to as the Standby. Both these machines are connected to a load balancer or ArcGIS Web Adaptor and both take requests from the front end users but internally, user data such as usernames and user groups are coming from an internal database of the machine which is assigned the role of Primary.
Here is how the architecture looks:
At any given time one of the machines will be assigned the role of Primary and the other one will be the Standby. The way the two machines behave is a bit different. If the Standby machine is down (or the Portal service stops) then users see no interruption, whereas if the Primary is down (or the Portal service stops), for a minute or two Portal behaves as if the internet is slow. At that time, the standby machine will promote itself as the Primary machine and when the process is complete the new Primary machine will continue to fulfil the requests of the front end users. Hence, in the diagram above, the machines are not labelled as ‘Primary’ or ’Standby’. To determine which machine is Primary and which is Standby, refer to the article here.
Finally, all the content created by ArcGIS Portal users such as web apps and web maps are stored in a shared content directory to which both the Portal machines have access to.
The ArcGIS Server High Availability setup is far simpler than that of ArcGIS Portal. GIS administrators can add multiple machines to the GIS Server site, i.e., two or more. Each machine will receive requests from ArcGIS Web Adaptors or load balancers on a round robin basis. The number of machines used will depend upon business requirements. Here is a diagram of the HA setup.
It is relatively easy for GIS administrators to add and remove machines from the ArcGIS Server site and each machine is awarded an identical role (Active-Active configuration). Also, if any one of the machines go down in the site, the load balancer will stop sending requests to that machine and redistribute the load to other machines.
ArcGIS Data Store
ArcGIS Data Store high availability architecture is like ArcGIS Portal but not identical. Here is how the architecture looks:
The architecture consists of two machines. At any given time one of the machines will be awarded the role of Primary and the other one will be the Standby. Both these machines are connected to ArcGIS Server but only the Primary will service any data requests and publishing requests. The Standby machine will be in read only mode and will replicate data from the primary ArcGIS Data Store. Another difference is that the content is stored on each individual machine. In the event where the ArcGIS Data Store primary machine becomes unreachable then the standby machine will promote itself and go to read write mode. The new Primary will start servicing requests with its copy of the content.
You can provide feedback on this blog by dropping a comment. Otherwise, here are a few useful resources for further reading: