In addition to understanding the aspects of real-time event processing such as event record size, velocity, and volume, you need to consider the different software components of ArcGIS Enterprise and how to deploy them onto server machines. This topic expands upon the deployment considerations with a discussion on two patterns for deploying ArcGIS GeoEvent Server in an enterprise GIS.
- Single-machine deployment—Deploy a base ArcGIS Enterprise deployment with ArcGIS GeoEvent Server deployed on the same machine so that all components are on a single-machine.
- Multiple-machine deployment—Deploy an instance of ArcGIS Server to a server machine separate from your base ArcGIS Enterprise deployment and then deploy ArcGIS GeoEvent Server on the separate machine.
An understanding of server resource allocation and the principles of workload separation, as described in the Architecting the ArcGIS System: Best Practices white paper, should be considered before selecting either deployment pattern above. In addition, it is important to be familiar with the different ArcGIS Server licensing roles and how SSL certificates are configured to establish trust between the components of ArcGIS Enterprise.
Many options exist in the design and system architecture of a solution leveraging ArcGIS Enterprise and ArcGIS GeoEvent Server, system architects can leverage Esri’s Consulting Services for guidance on designing and deploying a system architecture specific to the unique needs of the organization.
Single-machine deployment
A single-machine deployment pattern can be described as a base ArcGIS Enterprise deployment with ArcGIS GeoEvent Server deployed on the same machine. While this is not recommended for production environments, this deployment pattern is practical for solution development, proof of concepts, and demonstrations. System architects should understand the implications of system resource sharing between ArcGIS Server and ArcGIS GeoEvent Server before such a solution is deployed in production. To deploy GeoEvent Server as part of a single-machine deployment, simply install GeoEvent Server so that is runs beneath the existing Enterprise portal’s hosting server.
System architects following this approach should understand that ArcGIS Server is supporting two different server roles simultaneously in this deployment pattern. On the one hand, ArcGIS Server is licensed as a ArcGIS GIS Server using either a Standard or Advanced ArcGIS Enterprise license. This enables fundamental Web GIS capabilities such as web service publication, hosted feature layers, and Enterprise portal federation. When a GeoEvent Server license is applied to ArcGIS Server along with a GIS Server Standard or Advanced license, the server machine must now also support the real-time analytic capabilities available in GeoEvent Server.
While this simplifies the software component deployment and installation, system architects should be aware that a single ArcGIS Server is supporting multiple tasks; all service requests must be handled by this single server which can quickly be overwhelmed as system resources such as CPU and RAM are exhausted. Services published using the Enterprise portal, ArcGIS Pro, or ArcGIS GeoEvent Manager will all be published as hosted feature services. Combining more traditional feature services, whose records are maintained through traditional feature editing workflows, with real-time services whose records are updated with real-time observations can blur the distinction between a GIS Server and a GeoEvent Server.
A single-machine deployment simplifies SSL certificate configuration. It is recommended system architects obtain either a CA-signed certificate or domain certificate and configure both the Portal for ArcGIS and ArcGIS Server to use this as the web server SSL Certificate. GeoEvent Server will interrogate the ArcGIS Server it is running beneath and load the server’s certificates into its own certificate store. GeoEvent Server will trust software components the ArcGIS Server it runs beneath trusts. GeoEvent Server does not automatically extend trust to software components self-identifying as ArcGIS solution components or products. Self-signed certificates should not be used in an enterprise in which GeoEvent Server is deployed.
Multiple-machine deployment
The second deployment pattern, a multiple-machine deployment, builds upon the single-machine discussed above. All the same software components of ArcGIS Enterprise are deployed on a single-machine. The difference is the addition of a second machine in which a second instance of ArcGIS Server is installed and ArcGIS GeoEvent Server is deployed. In this deployment pattern, GeoEvent Server runs beneath a ArcGIS Server whose resources have been dedicated for real-time event ingestion, processing, and dissemination.
Note:
A multiple-machine deployment in this context does not include system scale-out to support strategies for scalability, reliability, and resiliency. For more details on those strategies, see Strategies for scalability, reliability, and resiliency.
The multiple-machine deployment pattern is considered the best practice for a base GeoEvent Server deployment. To the extent that a single server machine can support the server requests and load demanded for the base ArcGIS Enterprise operations, deploying GeoEvent Server on a second machine and running it beneath a dedicated ArcGIS Server instance supports the principles of workload separation. The real-time ingestion and adaptation of sensor data, coupled with event record processing and data dissemination, is resource intensive. This is why it is always recommended to allocate system resources on a dedicated server to support ArcGIS Enterprise and include a second machine in your system architecture to support GeoEvent Server.
ArcGIS Server roles
With two instances of ArcGIS Server in the system architecture, it is important to be familiar with the roles each instance supports. In a multiple-machine deployment, an ArcGIS GIS Server license (either Standard or Advanced) is applied to the ArcGIS Server on the ArcGIS Enterprise machine. This enables the GIS Server role to support the Enterprise portal as a hosting server. The ArcGIS Server on the second machine uses a ArcGIS GeoEvent Server license. This second machine’s role solely supports the GeoEvent Server deployment.
When installing ArcGIS Server on the second machine, select the GeoEvent Server license, then select this same license again when installing GeoEvent Server. Note that, several of the server roles such as ArcGIS GeoAnalytics Server and ArcGIS Image Server are included with the ArcGIS Server setup executable. However,GeoEvent Server has a separate setup executable, so the installation workflow requires you select the GeoEvent Server license twice.
Separate REST services directories
Each instance of ArcGIS Server in a multiple-machine deployment maintains its own ArcGIS REST Services Directory. Use applications such as ArcGIS Pro to publish feature services to the GIS Server—the ArcGIS Server on the base ArcGIS Enterprise machine. This server has a managed geodatabase supporting the Enterprise portal’s hosting server. Feature services can only be published to the base GeoEvent Server machine using ArcGIS GeoEvent Manager, and then only if you configure a geodatabase for that ArcGIS Server to use. Feature service publication to a server licensed as a GeoEvent Server (and not a GIS Server) are limited to empty feature services to which you can add/update feature records using the available output connectors in GeoEvent Server.
Federation and service publication
System architects need to be familiar with the different instances of the REST services directories, especially when the ArcGIS Server beneath which GeoEvent Server is run is federated with the Enterprise portal. Federation switches the type of server connection GeoEvent Server has registered as its Default from an ArcGIS Server type connection to an ArcGIS Enterprise type connection.
Server federation also changes the service publication behavior of GeoEvent Server. When federated and using the GeoEvent Server Default server connection, feature services will be published to the Enterprise portal’s hosting server creating hosted feature layers. These services are discoverable in the hosting server’s ArcGIS REST Services Directory and are listed in the Enterprise portal’s content manager.
When the ArcGIS Server beneath which GeoEvent Server is running is non-federated with an Enterprise portal, feature services published using GeoEvent Manager are published, by default, to the local ArcGIS Server—not the Enterprise portal’s hosting server. These services are discoverable in the ArcGIS REST Services Directory on the GeoEvent Server machine and will not be listed in the Enterprise portal’s content manager until items are explicitly created to link to them.
Advantages and disadvantages of separate REST services directories
Maintaining separate REST services directories and geodatabases has advantages. Principles of workload separation are honored with dedicated database server resources. You can organize feature services into two groups—those which contain real-time data and those which do not. When configuring an input, output, or processor in GeoEvent Server which uses a feature service, finding the content items affiliated with real-time data will be easier since hosted feature layer items will not be listed alongside the real-time feature services.
A disadvantage of separate REST services directories is that two different geodatabases must be administered and maintained. Administrators must also remember and recognize that data and services might reside on either of two ArcGIS Server machines.
SSL certificates
A multiple-machine deployment requires additional attention to your SSL certificate configuration. In a single-machine deployment, administers need only configure the Portal for ArcGIS and ArcGIS Server with a single CA-signed or domain certificate. GeoEvent Server automatically trusts responses coming from the Enterprise portal (or its hosting server) since all the software components are running on the same machine.
In a multiple-machine deployment, Portal for ArcGIS and its hosting ArcGIS Server must be configured to use a certificate generated for the base ArcGIS Enterprise machine. Additionally, a version of the ArcGIS Enterprise machine’s certificate must be imported into the ArcGIS Server on the GeoEvent Server machine. Failure to do so means that responses to HTTP requests returned from the ArcGIS Enterprise machine will not be trusted by GeoEvent Server. A lack of trust is often observed when you are not able to validate a server connection to the Enterprise portal. A lack of trust can also cause problems when working with the spatiotemporal big data store after it has been successfully configured and registered with the Enterprise portal’s hosting server.
Additional resources
For more information and additional resources for deploying ArcGIS, refer to the following articles:
- GeoEvent Server deployment considerations
- GeoEvent Server deployment checklist
- What is ArcGIS Enterprise?
- ArcGIS Server licensing roles
- ArcGIS Enterprise server roles
- Architecting the ArcGIS System: Best Practices
- Base ArcGIS Enterprise deployment
- ArcGIS Server Administration: Create a domain certificate
- Portal for ArcGIS Administration: Create a domain certificate
- ArcGIS Enterprise: Functionality Matrix