64
A Microservice Architecture for the Processing of Large Geospatial Data in the Cloud Michel Krämer

A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

A Microservice Architecture for the Processing of Large Geospatial Data in the CloudMichel Krämer

Page 2: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Urban planning use case

Paparoditis et al. (2012)!2

Goal:

Identify trees in 3D point clouds acquired by LMMS

Challenge:

Process data at least as fast as it is acquired, in order to be able to continuously monitor tree growth

Page 3: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Land monitoring use case

Highhydraulicenergy

Heavyrains

Smallandsteepbasins

Floodsandland slides

Abandonedagriculturalterraces

!3

Goal:

Analyse topography and orographic precipitation to prepare against hazardous events (floods and landslides)

Challenge:

Being able to continuously monitor evolution of terrain for the first time

Page 4: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement

!4

• Similar challenges in other use cases • change detection in urban areas • traffic pattern analysis • monitoring of seabed and coastal changes • etc.

• These use cases require “Big Geo Data”

• Goals cannot be reached with state-of-the-art approachesYang et al. (2011), Kitchin, R., & McArdle, G. (2016)

Page 5: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Processing of large geospatial data

!5

Cloud-based data processing Developers/researchers

Users

Use platformContribute

processing algorithms

Page 6: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Users

!6

Requirements:

A platform to processBig Geo Data

Automate recurring processing tasks

High-level interface for process automation

My approach:

Microservice architecture for Cloud-based processing

Workflow management

Domain-Specific Language

Page 7: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Users

!6

Requirements:

A platform to processBig Geo Data

Automate recurring processing tasks

High-level interface for process automation

My approach:

Microservice architecture for Cloud-based processing

Workflow management

Domain-Specific Language

Page 8: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Users

!6

Requirements:

A platform to processBig Geo Data

Automate recurring processing tasks

High-level interface for process automation

My approach:

Microservice architecture for Cloud-based processing

Workflow management

Domain-Specific Language

Page 9: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Developers/researchers

!7

Requirements:

Execute existing algorithms in the Cloud without modifications

Focus on algorithms and not on the details of Cloud

Orchestrate algorithms to workflows

My approach:

Service integration based on lightweight metadata

Workflow management

Workflow management

Page 10: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Developers/researchers

!7

Requirements:

Execute existing algorithms in the Cloud without modifications

Focus on algorithms and not on the details of Cloud

Orchestrate algorithms to workflows

My approach:

Service integration based on lightweight metadata

Workflow management

Workflow management

Page 11: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Problem statement – Developers/researchers

!7

Requirements:

Execute existing algorithms in the Cloud without modifications

Focus on algorithms and not on the details of Cloud

Orchestrate algorithms to workflows

My approach:

Service integration based on lightweight metadata

Workflow management

Workflow management

Page 12: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Hypothesis

!8

A microservice architecture and Domain-Specific Languages can be used to orchestrate existing geospatial processing algorithms, and to compose and execute geospatial workflows in a Cloud environment for efficient application development and enhanced stakeholder experience.

Page 13: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Hypothesis

!8

A microservice architecture and Domain-Specific Languages can be used to orchestrate existing geospatial processing algorithms, and to compose and execute geospatial workflows in a Cloud environment for efficient application development and enhanced stakeholder experience.

Page 14: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

!9

Microservice architecture

Domain-Specific Languages

Enhanced stakeholder experience

Orchestrate existing geospatial processing algorithms

Cloud

Compose and execute geospatial workflows

Efficient application development

Page 15: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Related work – Cloud for geospatial applications

Mostly for Smart Cities

!10

e.g. Khan, Anjum, & Kiani (2013), Krylovskiy, Jahn, & Patti (2015)

Single experiments

Specific platform/processing model

e.g. Qazi, Smyth, & McCarthy (2013), Warren et al. (2015), Li et al. (2010)

e.g. Ajiy et al. (2013), Eldawy & Mokbel (2013)

No workflow management

Related work: My approach:

Comprehensive platform for user-defined workflows

Supports various use cases

Supports mix of multiple programming paradigms

Workflow management

Page 16: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Related work – Cloud for geospatial applications

Mostly for Smart Cities

!10

e.g. Khan, Anjum, & Kiani (2013), Krylovskiy, Jahn, & Patti (2015)

Single experiments

Specific platform/processing model

e.g. Qazi, Smyth, & McCarthy (2013), Warren et al. (2015), Li et al. (2010)

e.g. Ajiy et al. (2013), Eldawy & Mokbel (2013)

No workflow management

Related work: My approach:

Comprehensive platform for user-defined workflows

Supports various use cases

Supports mix of multiple programming paradigms

Workflow management

Page 17: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Related work – Cloud for geospatial applications

Mostly for Smart Cities

!10

e.g. Khan, Anjum, & Kiani (2013), Krylovskiy, Jahn, & Patti (2015)

Single experiments

Specific platform/processing model

e.g. Qazi, Smyth, & McCarthy (2013), Warren et al. (2015), Li et al. (2010)

e.g. Ajiy et al. (2013), Eldawy & Mokbel (2013)

No workflow management

Related work: My approach:

Comprehensive platform for user-defined workflows

Supports various use cases

Supports mix of multiple programming paradigms

Workflow management

Page 18: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Related work – Cloud for geospatial applications

Mostly for Smart Cities

!10

e.g. Khan, Anjum, & Kiani (2013), Krylovskiy, Jahn, & Patti (2015)

Single experiments

Specific platform/processing model

e.g. Qazi, Smyth, & McCarthy (2013), Warren et al. (2015), Li et al. (2010)

e.g. Ajiy et al. (2013), Eldawy & Mokbel (2013)

No workflow management

Related work: My approach:

Comprehensive platform for user-defined workflows

Supports various use cases

Supports mix of multiple programming paradigms

Workflow management

Page 19: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

System design

!11

Page 20: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 21: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 22: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 23: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 24: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 25: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!12

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 26: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Processingservices

!13

Node A Node B Node C

Job manager

MapReduce job

MapReduce job

Algorithm B (distributed)

Algorithm A (single core)

Algorithm A (single core)

Algorithm A (single core)

Algorithm B (distributed)

Algorithm C (multi core)

Algorithm C (multi core)

Distributed file system

Algorithm D (GPU)

Algorithm D (GPU)

Krämer & Senner (2015)

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 27: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Benefits of microservice architecture

• Focus

• Independency

• Development distributability

see also Krämer & Senner (2015) !14

• Composability

Presentation tier

Logic tier

Data tier

Presentation

Data

Presentation

DataData Data

GatewayGateway Gateway

Shared data

a) A monolithic software with astandard three-tier architecture

b) A pure microservice architec-ture with a complex deployment

c) A microservice architecture de-composed along bounded contexts

Page 28: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!15

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 29: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Example Workflow

!16

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 30: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Architecture overview

!17

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Krämer & Senner (2015)

Page 31: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

12

Dynamic workflow execution

!18

A priori design-time knowledge (one DAG for the whole workflow)

A priori runtime-time knowledge (iterative)

Existing work: My approach:

A

BC

D

E

JobManager

12

Page 32: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

JobManager architecture

!19

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 33: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

JobManager architecture

!19

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 34: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

JobManager architecture

!19

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 35: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

JobManager architecture

!19

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 36: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

JobManager architecture

!19

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Data accessservice

Distributed file system(Storage cloud)

Processing services(Processing cloud)

Catalogue serviceJobManager

Workflows Datacatalogue

Servicecatalogue

Notification

Workfloweditor

Workflow service

GIS expert

R

Data browser

File upload/download

R

Main user interface

R

Interpreter

Parser

Page 37: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!20

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 38: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!20

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 39: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!20

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 40: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!20

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 41: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!20

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 42: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 43: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 44: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 45: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 46: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 47: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Process Chain Manager

!21

lookup nextprocess chain

select node request processchain status

new running

register processchain results

finished

executeprocess chain

no nodeavailable

stillrunning

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 48: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!22

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 49: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!22

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 50: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!22

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 51: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!22

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 52: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Controller

!22

Execute workflow

Controller Rule System

load metadata

start reasoning

registerprocess chains

lookup processchain results

registerworkflow results

fire rules

newprocess chains

no newprocess chains

all process chains succeeded

error

JobManager

Rule System

Processing Cloud

Processing Connector 1 Processing Connector n

Process Chain Manager

R R

Service metadata

Data metadata ControllerR

HTTP Server

R

Rules

Working Memory

ProcessChains

Workflows

Client

R

Page 53: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Results

!23

Page 54: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Urban planning use case

!24

Dataset:

City of Toulouse, 120.63 GiB,1.58 billion points, 529 tiles Acquisition time: 1h 53m

Evaluation results:

Processing time: 1h 51m 18 compute nodes on Fraunhofer IGD Cloud Almost linear scalability

Result: Point cloud with labels for individual trees

Page 55: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Urban planning use case

!24

Dataset:

City of Toulouse, 120.63 GiB,1.58 billion points, 529 tiles Acquisition time: 1h 53m

Evaluation results:

Processing time: 1h 51m 18 compute nodes on Fraunhofer IGD Cloud Almost linear scalability

Result: Point cloud with labels for individual trees

Page 56: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Land monitoring use case

!25

Dataset:

3D point cloud of Liguria Region 451.16 GiB, 17.35 billion points, 684 strips

Evaluation results:

Processing time: 35m 49s Previously (without my work): several days (*)

Result: Point cloud allowing for fast extraction of basins in a certain level of detail

* according to GIS users from the Liguria region (personal communication)

Highhydraulicenergy

Heavyrains

Smallandsteepbasins

Floodsandland slides

Abandonedagriculturalterraces

Page 57: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Scientific contributions

!26

Microservice Architecture

• Scalability

• Modifiability

• Development distributability

• Availability

Processing

• Service integration

• Service orchestration

• Dynamic workflow management

• Rule-based workflow execution

Workflow Modelling

• Domain-Specific Language (DSL)

• Method for DSL modelling

Page 58: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Scientific contributions

!26

Microservice Architecture

• Scalability

• Modifiability

• Development distributability

• Availability

Processing

• Service integration

• Service orchestration

• Dynamic workflow management

• Rule-based workflow execution

Workflow Modelling

• Domain-Specific Language (DSL)

• Method for DSL modelling

Page 59: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Conclusions

!27

Research hypothesis is supported by • Positive results from detailed evaluation • Successfully satisfied stakeholder

requirements

Microservice architecture

Domain-Specific Languages

Enhanced stakeholder experience

Orchestrate existing geospatial processing algorithms

Cloud

Compose and execute geospatial workflows

Efficient application development

Page 60: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Conclusions

My thesis documents a major step in the paradigmshift from desktop GIS to the Cloud within the

geospatial community and geoinformatics

!27

Research hypothesis is supported by • Positive results from detailed evaluation • Successfully satisfied stakeholder

requirements

Microservice architecture

Domain-Specific Languages

Enhanced stakeholder experience

Orchestrate existing geospatial processing algorithms

Cloud

Compose and execute geospatial workflows

Efficient application development

Page 61: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

(Future) work

JobManager has been put into productionat Deutsche Telekom AG

Several improvements:• Create VMs on demand (OpenStack) • Capability-based scheduling • Improved security

!28

Page 62: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:
Page 63: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

General features

‣Geospa'al feature store ‣Schema agnos'c ‣Format preserving ‣Cloud-based ‣Event-driven ‣Easy to use/integrate

Page 64: A Microservice Architecture for the Processing of Large Geospatial Data … · 2018. 12. 17. · Processing of large geospatial data!5 ... Problem statement – Users!6 Requirements:

Michel KrämerFraunhofer-Institut für Graphische Datenverarbeitung IGD

Fraunhoferstraße 5

64283 Darmstadt [email protected]