co-resyf hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  ·...

24
Coastal Waters Research Synergy Framework Coastal Waters Research Synergy Framework This project has received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement no 687289 Summer School Meeting, Thursday 13th July 2017 LNEC, Lisbon, Portugal Co-ReSyF Hands-on sessions Hervé Caumont (Terradue)

Upload: others

Post on 02-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Coastal Waters Research Synergy Framework

Coastal Waters Research Synergy Framework

This project has received funding from the European

Union’s Horizon 2020 Research and Innovation Programme under

grant agreement no 687289

Summer School Meeting, Thursday 13th July 2017LNEC, Lisbon, Portugal

Co-ReSyF Hands-on sessions▶ Hervé Caumont (Terradue)

Page 2: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Coastal Waters ResearchSynergy Framework

http://co-resyf.eu/

2

http://geoportal.co-resyf.eu/

Page 3: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Cloud services

User profiles

Novice:- EO data access helpers- Processing ‘as-a-Service’

Intermediate:- Workflow composer service- Reuse of existing modules

Expert:- Cloud Sandbox service- Software integration

❏ Data Processing

❏ Algorithm integration

❏ Collaborative research

3

Research Apps

Aiming at ‘Platform’ services

Page 4: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Front-end Back-end

4

Data Search

Workflow Composer

Workflow Manager

Visualisation & Analysis

Platform Services v1.0

Hosted processor

Third-party tools repos

Co-ReSyF toolkit

repository

Workflow Engine

Data Agency

Cloud Controller

Processor as a Service

User Support

AAA

OGC WPS, Hadoop

OGC WPS

▶ OGC OSxGT

▶ yum, conda

Page 5: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

5Innovation & automationBenefits for Platform users

Develop Jobs

Setup Workflow

Sandbox Environment

Validate App

Operational Cloud

Environment

Design Service

Deploy Service

Monitor Service

▶Hands-on focus

Page 6: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

6

An application lifecycle

Page 7: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

7

▪ Processing libs developed in any programming language supported by CentOS 6.5

▪ C/C++, Java, Python (most common)▪ Matlab and IDL▪ Other languages shall be

previously analyzed

▪ Then synchronized onthe Platform via softwarepackages management tools(RPM repos, GitHub, …)

Design & Libraries Declaration (1/4)

Page 8: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

8

Python, CDAT, R, BEAM, BEAT

Service integration (2/4)

▪ Service developer uses the sandbox tools to implement, test and validate a scalable workflow

▪ Sandbox includes tools to proof test data discovery, parallel processing and access to results

Page 9: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

9Cloud Compute deployment (3/4)

▪ After validation, the developer publishes the Service for integration on a selected Cloud Infrastructure

▪ A ‘Processor as a Service’ accesses complete pools of datasets,allows application intensive computing, and stores processor outputs, e.g. back to the lab

Page 10: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

10Service Operations (4/4)

▪ Processing Services are operated on a selected Cloud provider

▪ Operators manage the service via their user account on Terradue Cloud Platform

▪ Resources can scale up/down▪ The development environment

remains active for maintenance activities on the Service

▪ Service End Users can access the service’s products from ad-hoc community portals

▪ Includes support for standard protocols like OGC Web Services

Page 11: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

11

Hands-on sessions

Page 12: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

12Hands-on sessions overview

Session 1 - Data access and adding your own data to the platform Cloud storage

What are the Platform APIs, along with integrated tools for data staging within Cloud Apps, that deliver custom data management services to registered developer users on the Platform ?

Session 2 - Develop your own processing chain, using existing modules

How registered users are able to create a work environment with state of the art tools like Git and GitHub, Maven, Oozie workflows, … and work collaboratively for the development of powerful Apps ?

Page 13: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

13

Get the instructions

Visit

https://gist.github.com/HerveCaumont/

Select

simple-da-training-part-1

Session 1Data access and adding your own data to the platform Cloud storage

Page 14: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

14

Get the instructions

Visit

https://gist.github.com/HerveCaumont/

Select

simple-dcs-training-part-1

Session 2Integrate and test your own processing chain, using existing modules

Page 15: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

15

Co-ReSyF Project EC fundinghttp://www.copernicus.eu/projects/co-resyf

Co-ReSyF Websitehttp://co-resyf.eu/

Co-ReSyF GeoPortalhttp://geoportal.co-resyf.eu/

Co-ReSyF Twitter handlehttps://twitter.com/Co_ReSyF

Co-ReSyF repositories on GitHubhttps://github.com/ec-coresyf

User forumhttps://discuss.terradue.com https://discuss.terradue.com/c/co-resyf

Session 3Resources at your disposal

Terradue Cloud Platform, sign-uphttps://www.terradue.com

Private Cloud VPN setuphttps://access.terradue.com

Cloud Dashboardhttps://cloud.terradue.com

Dev Cloud Sandbox (DCS) documentationhttps://docs.terradue.com/developer-sandbox

DCS Community shared applicationshttps://github.com/Terradue?q=dcs

T2 API documentationhttp://docs.terradue.com/t2-api/

Operations Supporthttps://support.terradue.com

Page 16: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Looking forward hearing from you!CO-RESYF SUMMER SCHOOL 2017

16

Hervé CaumontCloud Platform Operations, [email protected]

Page 17: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Back-up slides(from RPM-1)

17

Page 18: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Choose a language 18

Page 19: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

Sen2Cor is a processor for Sentinel-2 Level 2A product generation and formatting; it performs the atmospheric, terrain and cirrus correction of Top-Of- Atmosphere Level 1C input data.

Sen2Cor creates Bottom-Of-Atmosphere, optionally terrain and cirrus corrected reflectance images; additional, Aerosol Optical Thickness, Water Vapor, Scene Classification Maps and Quality Indicators for cloud and snow probabilities.

http://step.esa.int/main/third-party-plugins-2/sen2cor/

https://anaconda.org/Terradue/sen2cor

19The sen2cor processing tool

Page 20: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

20Understand the application structure

function main()

{

local reference=${1}

ciop-log "INFO" "**** Sentinel-2 Atmospheric Correction ****"

ciop-log "INFO" "------------------------------------------------------------"

ciop-log "INFO" "Input S-2 L1C product reference: ${reference}"

ciop-log "INFO" "------------------------------------------------------------"

ciop-log "INFO" "STEP 1: Getting input product"

local_product=$( get_data "${reference}" "${TMPDIR}" ) || return ${ERR_GET_DATA}

ciop-log "INFO" "------------------------------------------------------------"

ciop-log "INFO" "STEP 2: SEN2COR tool" output=$( sen2cor "${reference}" "${local_product}" ) || return ${ERR_GET_DATA}

ciop-log "INFO" "------------------------------------------------------------"

ciop-log "INFO" "STEP 3: Publishing results" publish_data "${output}" || return ${ERR_PUBLISH}

ciop-log "INFO" "------------------------------------------------------------"

}

Page 21: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

21Understand the application structure

for reference in sys.stdin:

reference = reference.strip('\n')

ciop.log('INFO', '**** Sentinel-2 Atmospheric Correction ****')

ciop.log('INFO', '------------------------------------------------------------')

ciop.log('INFO', 'Input S-2 L1C product reference: ' + reference)

ciop.log('INFO', '------------------------------------------------------------')

ciop.log('INFO', 'STEP 1: Getting input product')

local_product = get_data(reference, os.environ['TMPDIR'])

ciop.log('INFO', '------------------------------------------------------------')

ciop.log('INFO', 'STEP 2: SEN2COR tool')

output = sen2cor(reference, local_product)

ciop.log('INFO', '------------------------------------------------------------')

ciop.log('INFO', 'STEP 3: Publishing results')

publish_data(output)

ciop.log('INFO', '------------------------------------------------------------')

Page 22: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

22Inspect the logs - Job

Page 23: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

23Inspect the logs - Task

Page 24: Co-ReSyF Hands-on sessionsco-resyf.eu/wordpress/wp-content/uploads/2017/07/2-2-2-3...2017/07/02  · Cloud services User profiles Novice: - EO data access helpers - Processing ‘as-a-Service’

24Inspect the logs - Attempt