Top Banner
Josh Joyner Gregory Christakos Real-Time & Big Data GIS: Best Practices
46

Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Jul 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Josh Joyner

Gregory Christakos

Real-Time & Big Data GIS: Best Practices

Page 2: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

analytics storage

visualization

ArcGIS GeoEvent ServerReal-Time GIS for ArcGIS Enterprise

ingestion

actuation

Apps

DesktopAPIs

Page 3: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Agenda

Architecture Recommendations

Deployment Patterns

Service Design Considerations

Understanding Your Data

Things I Wish I Knew

Resources & Wrap Up

1

2

3

4

5

6

Page 4: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Architecture

Recommendations1

Page 5: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

• Operating environment: m5.2xlarge (AWS) / DS4 v2 (Azure)

- virtual machines – beware! resources need to be shared in an effective way, like EC2 or Azure.

- dedicated bare metal machines or public cloud instances are much more deterministic.

• Network

- speed – the faster the better. 1 GB/s

• Memory

- size – 8GB has been required since 10.3. 32GB, default JVM max heap size is 4 GB

- type – minimum of DDR4 is recommended.

- clock speed (MHz) and transfer rate (Mbps) – the faster the better.

• Processors

- # of cores – the more the better. 8 vCPU

- speed (GHz) – the faster the better.

• Disk

- 700MB required for installation 10GB recommended minimum (10.6+)

- amount of disk space needed will vary based on quantity of deployed input connectors

- each input can utilize up to a maximum of 600 MB of disk space before clean up

ArcGIS GeoEvent ServerWhat are the primary factors I should consider?

Page 6: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

What are the primary factors I should consider?

• Operating environment: m5.2xlarge (AWS) / DS4 v2 (Azure)

- virtual machines – beware! resources need to be shared in an effective way, like EC2 or Azure.

- dedicated bare metal machines or public cloud instances are much more deterministic.

• Disk

- speed – the faster the better 1 GB/s EBS, note: local SSD is much better

• Network

- speed – the faster the better. 1 GB/s

• Memory

- size – 16GB minimum. 32GB

- type – DDR4 is recommended.

- clock speed (MHz) and transfer rate (Mbps) – the faster the better.

• Processors

- # of cores – the more the better. 8 vCPU

- speed (GHz) – the faster the better.

spatiotemporal big data store

Page 7: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Deployment Patterns2

Page 8: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

ArcGIS GeoEvent Server

Deployment Patterns

functional servers & spatiotemporal big data store

SHOULD BE on ISOLATED machines

Page 9: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

ArcGIS GeoEvent Server

Deployment Patterns

functional servers & spatiotemporal big data store

SHOULD BE on ISOLATED machines

Page 10: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

multi-machine considerations

• Site vs Silo Approaches

- Site: Multiple installations of GeoEvent Server configured to use a shared ArcGIS Server site

- Silo: Independent GeoEvent Server instances, each in their own ArcGIS Server site

Deployment Patterns

Page 11: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

multi-machine considerations

• Site vs Silo Approaches

- Site: Multiple installations of GeoEvent Server configured to use a shared ArcGIS Server site

- Silo: Independent GeoEvent Server instances, each in their own ArcGIS Server site

• The Site based approach is NOT recommended- Introduces significant effort to synchronize all participating machines

- Throughput improvements but not true HA or DR

Deployment Patterns

• Silo based approach may required additional third-party infrastructure to support

message distribution (e.g. Kafka or Load Balancers)

Page 12: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Is there a better option that provides improved

scalability and disaster recover?

Deployment Patterns

ArcGIS Analytics for IoThttps://www.esri.com/en-us/arcgis/products/arcgis-analytics-for-iot/overview

multi-machine considerations

Page 13: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Deployment Patternsunderstanding the options

• What is the relationship between GeoEvent Server and Analytics for IoT?

• Both Analytics for IoT and GeoEvent Server provide similar capabilities, right?

• Is Analytics for IoT a replacement for GeoEvent Server?

• When / Why should I consider one product over another

• When will Analytics for IoT be available to customers?

Page 14: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

updating Gateway deployment location

• GeoEvent Gateway is deployed to

“C:/ProgramData/Esri/GeoEvent-Gateway/” (Windows OS)

“/home/arcgis/.esri/GeoEvent-Gateway/config.machinename” (Linux OS)

- This location can be changed by editing:

- (ArcGIS Server Installation Path)\GeoEvent\gateway\etc\kafka.properties

- (ArcGIS Server Installation Path)\GeoEvent\gateway\etc\zookeeper.properties

GeoEvent Server

Page 15: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

other deployment considerations

GeoEvent Server

• GeoEvent Server and GeoEvent Gateway services should be left running

- Limit system restarts to scheduled patch times

- Inputs and Outputs leveraging Hosted Feature Layers should be stopped prior to any required

restarts

- Be aware of server and service dependencies

• Patches and Upgrades typically require the reset/clearing of browser cache to complete

installation

Page 16: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design

Considerations3

Page 17: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationshow many event processing paths do you see?

Page 18: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationshow many event processing paths do you see?

Page 19: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationshow many event processing paths do you see?

Page 20: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationshow many event processing paths do you see?

Page 21: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationswhich would you choose?

Service A Service B

Page 22: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationswhich would you choose?

When possible, pre-filter the

input data before ingesting.Each “branch” in a service contains the same event data.

In this example the three branches triple the number of

records the underlaying message bus needs to handle.

Page 23: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationsnot all components are created equally

A

B

C

Which of these services has

the potential to least impact

performance?

Page 24: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationsnot all components are created equally

A

B

CThe first service, though it

has more nodes, operates

against a cache of

enrichment records and in-

memory geofences allowing

for better performance.

Page 25: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationsnot all components are created equally

A

B

CThe second service

modifies the incoming

event geometry which can

be “expensive”.

These types of requests are

typically very quick but can

be impacted by geometry

complexity.

Page 26: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Design Considerationsnot all components are created equally

A

B

CThe third service utilizes

Network Analyst to return a

“drive time” polygon which

can significantly impact

throughput.

Page 27: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

• Configure Filters and Field Mapper Processors as early as possible in a service

- This reduces the volume / data size of the events being processed

- Potentially simplifies service configuration “down stream”

• Avoid Managed GeoEvent Definitions when possible

- These are “system owned” definitions whose lifecycle is entirely controlled by the processors

- Editing or Deleting a processor will remove these definitions

- If necessary copy generated definition and edit processor to look for it

• Utilize single data pipelines whenever possible

- Branching out or back together of pipelines can have multiplicative impacts

- Better to duplicate workflows across multiple services than a single complex workflow

Service Design Considerationsother recommendations

Page 28: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

4 Understanding Your Data

Page 29: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Understanding Your Data

• Building a GeoEvent Service is a methodical process

- Input, Output, GeoEvent Service

- Data Stores, GeoEvent Definitions and more

• Different output connectors are needed for troubleshooting and service design

- Write to a JSON file

- Add features to a pseudo feature service

- Push data over TCP to the GeoEvent Logger

• It can be tricky to understand real-time data in route

Common Themes

Page 30: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Understanding Data – Service Designer

• 10.8 – New usability and functionality in the GeoEvent Service Designer

• Added ability to:

- Create and add input and output connectors

- Copy existing input and output connectors

- Edit input and output connectors

- Start or stop input and output connectors*

- Modify GeoEvent Definitions, GeoFences, Data Stores, Spatiotemporal Big Data Stores

• Best Practice: Use the new features to quickly and easily build or edit GeoEvent

Services

New at 10.8.0

Page 31: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Service Designer

Page 32: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and
Page 33: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Understanding Data – GeoEvent Sampler

• 10.8 – New embedded utility in the GeoEvent Service Designer

• Provides the ability to:

- Sample a subset of processed events on any route in real-time

- View events as prettified JSON or delimited text

- Visualize geometry of sampled events

- Compare sampled events (and geometry) on two routes simultaneously

• Use the GeoEvent Sampler to:

- Verify attributes

- Verify schema

- Verify geometry

• Best Practice: Use GeoEvent Sampler to quickly and easily understand real-time

data

New at 10.8.0

Page 34: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

GeoEvent Sampler

Page 35: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and
Page 36: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Things I Wish I Knew5

Page 37: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Things I Wish I Knewfederating GeoEvent Server

“I have to federate the GeoEvent Server… don’t I?”

- In order to use the spatiotemporal big data store it requires an Enterprise type connection

• Federating the local ArcGIS Server (and in turn GeoEvent Server) provides…

- Single Sign-on Experience

- Automatically converting Default datastore type

- …but even if you don’t federate you can still make a Datastore Connection to your ArcGIS Enterprise

Page 38: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Things I Wish I Knewfederating GeoEvent Server

“I have to federate the GeoEvent Server… don’t I?”

- Some deployments (especially in highly secured environments) function better without federating

- It also allows more restrictive access to the GeoEvent Manager and Services

- Only those Admin level users on the local ArcGIS Server can log into GeoEvent Manager

Page 39: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Things I Wish I Knewversion parity requirements

“Do I have to upgrade or wait for newer versions of the Gallery add-ons”

• Most items on the GeoEvent Gallery are compatible with GeoEvent Server 10.4 or later

- New releases / updates are scheduled only when a component is not compatible

• It is recommended to remove and redeploy custom components during upgrading

Page 40: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Things I Wish I Knewgeofence synchronization

“What’s the maximum number of GeoFences I can store in GeoEvent Server”

• No hard cap on number of GeoFences, but higher quantity/complexity impacts load times

• Sync rule refresh interval is the time between successful requests/responses

- A 1 second refresh on a query that takes 6 seconds to complete means new data every 7 seconds not 1 second

• Use Stream Layers when possible to push new geometry directly into the GeoEvent Server cache

Look for a 10.8 / 10.7.1 Patch coming soon to address some known

issues with GeoFence Sync

Page 41: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

6 Resources & Wrap-Up

Page 42: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

ResourcesSelf-Paced Training and Resources

• ArcGIS GeoEvent Server resources

- http://enterprise.arcgis.com/en/geoevent

- Updated Documentation

- Installation Guides

- System Requirements

- Tutorials

• Blogs and discussions on the forum

- http://links.esri.com/geoevent-forum

• Video recordings of technical workshops

- http://www.esri.com/videos

Page 43: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Real-Time & Big Data Technical Workshops

• Tuesday

– 1:45 - 2:45 ArcGIS Analytics for IoT: An Introduction

– 3:00 - 4:00 ArcGIS GeoEvent Server: An Introduction

• Wednesday

– 11:00 - 12:00 ArcGIS Analytics for IoT: An Introduction 2nd offering

– 1:30 - 2:30 ArcGIS GeoEvent Server: An Introduction 2nd offering

– 2:45 - 3:45 Real-Time and Big Data GIS: Best Practices Only Offering

– 4:00 - 5:00 ArcGIS GeoEvent Server: Applying Real-Time Analytics Only Offering

– 5:15 - 6:15 ArcGIS GeoEvent Server: Visualizing Real-Time Data Only Offering

Page 44: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Print Your Certificate of Attendance

Print Stations Located in 150 Concourse Lobby

Tuesday12:30 pm – 6:30 pm

Expo

Hall B

5:15 pm – 6:30 pm

Expo Social

Hall B

Wednesday10:45 am – 5:15 pm

Expo

Hall B

6:30 pm – 9:30 pm

Networking Reception

Smithsonian National Museum

of Natural History

Page 45: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Download the Esri

Events app and find your event

Select the session

you attended

Scroll down to

“Survey”

Log in to access the

survey

Complete the survey

and select “Submit”

Please Share Your Feedback in the App

Page 46: Real-Time & Big Data GIS: Best Practices · -In order to use the spatiotemporal big data store it requires an Enterprise type connection •Federating the local ArcGIS Server (and

Josh Joyner

ArcGIS GeoEvent ServerProduct Manager

[email protected]

Gregory Christakos

ArcGIS GeoEvent ServerProduct Engineer

[email protected]

Comments?

Questions?