In addition to understanding the aspects of real-time event processing such as event record size, velocity, and volume, you must consider the 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.
Consider server resource allocation and the principles of workload separation, as described in the Architecting the ArcGIS System: Best Practices white paper, before selecting either deployment pattern above. In addition, it is important to be familiar with the 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 needs of the organization.
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, 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 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 is now dual-role, supporting both service publication and real-time data ingest, adaptation, processing, and dissemination.
While this simplifies the software component deployment and installation, system architects should be aware that 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 server running 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 Portal for ArcGIS and ArcGIS Server to use this as the web server SSL certificate. GeoEvent Server interrogates the ArcGIS Server instance it is running beneath and loads the server’s certificates into its own certificate store. GeoEvent Server will trust software components the ArcGIS Server instance 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.
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 server whose resources have been dedicated for real-time event ingestion, processing, and dissemination.
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 ArcGIS Server on the ArcGIS Enterprise machine. This enables the GIS Server role to support the enterprise portal as a hosting server. 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, and 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 you can run. However, GeoEvent Server has a separate setup you can run, 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. When publishing from GeoEvent Manager, it is important to keep in mind which ArcGIS Server you are publishing to; an ArcGIS Enterprise portal's hosting server or the ArcGIS Server on the machine on which GeoEvent Server is running. If you choose to publish map or feature services to the ArcGIS Server running GeoEvent Server, the ArcGIS Server must have a registered managed geodatabase and a GIS Server license role (in addition to a GeoEvent Server license role). Hosted services can be published from GeoEvent Manager to an ArcGIS Enterprise portal's hosting server because the hosting server has an ArcGIS Data Store configured as its managed geodatabase. Stream services must be published to the machine on which GeoEvent Server is running. Stream service publication requires a GIS Server and GeoEvent Server license.
Federation and service publication
System architects must be familiar with the different instances of the REST services directories, especially when the ArcGIS Server instance 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 instance 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 instance—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 can reside on either of two ArcGIS Server machines.
A multiple-machine deployment requires additional attention to your SSL certificate configuration. In a single-machine deployment, administers need only configure 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 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 cannot 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.
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
- ArcGIS Enterprise Functionality Matrix