35
geOrchestra SDI Project Status Report François Van Der Biest #FOSS4G2016 2016-08-25

georchestra SDI: Project Status Report

Embed Size (px)

Citation preview

Page 1: georchestra SDI: Project Status Report

geOrchestra SDIProject Status Report

François Van Der Biest

#FOSS4G2016

2016-08-25

Page 2: georchestra SDI: Project Status Report

2/35www.camptocamp.com /

About ...Camptocamp○ Geo, Business, IT

○ 3 countries

○ 50+ employees

○ R&D, Support, Training

○ @camptocamp

Me○ Geospatial Engineer

○ geOrchestra PSC

○ Father of 3

○ Chambéry, France

○ OSM contributor

○ @fvanderbiest

Page 3: georchestra SDI: Project Status Report

3/35www.camptocamp.com /

SDI ?

Page 4: georchestra SDI: Project Status Report

4/35www.camptocamp.com /

Spatial Data Infrastructure

Services(OGC + REST)

Client ClientClientClient

Core

Modules

Page 5: georchestra SDI: Project Status Report

5/35www.camptocamp.com /

Part I

geOrchestra ?

Page 6: georchestra SDI: Project Status Report

6/35www.camptocamp.com /

https://github.com/georchestra/georchestra

An OpenSource project ...

Page 7: georchestra SDI: Project Status Report

7/35www.camptocamp.com /

https://www.openhub.net/p/georchestra

Page 8: georchestra SDI: Project Status Report

8/35www.camptocamp.com / https://sdi.georchestra.org/mapfishapp/map/2d173366676bf584e0011c45e423c9dd

Many production instances ...

Page 9: georchestra SDI: Project Status Report

9/35www.camptocamp.com / A large, diverse and active community

Page 10: georchestra SDI: Project Status Report

10/35www.camptocamp.com /

What's in the core ?From a client-side POV,

it's the OGC servers*:

■ GeoServer – WMS, WFS(-T), WCS, WPS

■ GeoWebCache – WMTS, TMS, WMS-C

■ GeoNetwork – CSW

* you know, these things for INSPIRE ...

Page 11: georchestra SDI: Project Status Report

11/35www.camptocamp.com /

From a software architect POV,

it's the security-proxy application:

■ It handles the user session

■ It routes requests to modules

■ It optionally logs requests

Page 12: georchestra SDI: Project Status Report

12/35www.camptocamp.com /

What are the modules ?For the end-user:

■ Metadata catalog (GeoNetwork)

■ Several viewers

■ Simple – « an easy-to-use & responsive viewer »

■ Intermediate – « handles multiple layers in a tree »

■ Advanced – « a feature-packed OGC viewer & editor »

■ Extractor – « OGC services in, Geo Files out »

■ Simple catalog – « a simple CSW client »

Page 13: georchestra SDI: Project Status Report

13/35www.camptocamp.com /

For the administrators:

■ Console

Manages users, groups & roles

■ Analytics

Displays stats on OGC Services usage

Page 14: georchestra SDI: Project Status Report

14/35www.camptocamp.com /

Why would I choose geOrchestra ?

■ Single Sign On for all your services

■ Easy-to-use web-based tools to manage users

■ Plenty of modules and extensions (GeoFence!)

■ Adding new modules is really easy

■ Streamlined installation process

Page 15: georchestra SDI: Project Status Report

15/35www.camptocamp.com /

Part II

Page 16: georchestra SDI: Project Status Report

16/35www.camptocamp.com /

What happened to geOrchestra since Seoul ?

Page 17: georchestra SDI: Project Status Report

17/35www.camptocamp.com /

We focused on :

■ Generic artifacts (.deb, .war, ...)

■ Deployment automation (Ansible)

■ Docker in production

We also upgraded our core service providers:

■ GeoServer from 2.5.x to 2.8.x

■ GeoFence from 2.x to 3.x

■ GeoNetwork from 2.x to 3.x

Page 18: georchestra SDI: Project Status Report

18/35www.camptocamp.com /

GeoServer 2.5 → 2.8So many improvements … but to name a few :

■ Performance

■ I18n

■ WPS production-ready

■ Styling & rendering improvements (color blending …)

Major bugfix :

■ WMS 1.3.0 failed to serve rasters in their native projection

Page 19: georchestra SDI: Project Status Report

19/35www.camptocamp.com /

GeoFence 2 → 3■ No more separate UI : integrated in GeoServer

■ Easier to reorder rules

■ Rules for delegated workspace admin

Page 20: georchestra SDI: Project Status Report

20/35www.camptocamp.com /

GeoNetwork 2 → 3Main improvements:

■ User Interface

■ Modern technologies

■ Better MD editor (incl. suggestions)

■ MD validation tool

■ Integrated viewer

Page 21: georchestra SDI: Project Status Report

21/35www.camptocamp.com /

Generic Artifacts■ Previously: we were building tainted wars

■ Now, if the georchestra.datadir system property is defined (JAVA_OPTS), each webapp reads its config from the « data dir » location + module name

■ Considering the number of modules, this was a HUGE work !

■ As a result, we distribute a template « data dir » : https://github.com/georchestra/datadir/

■ Debian packages contain the generic WAR + associated datadir files

Page 22: georchestra SDI: Project Status Report

22/35www.camptocamp.com /

Deployment automationAnsible recipe: https://github.com/georchestra/ansible

geOrchestra VM cookbook:

■ sudo apt-get install vagrant virtualbox ansible

■ git clone https://github.com/georchestra/ansible.git

■ cd ansible

■ vagrant up

Page 23: georchestra SDI: Project Status Report

23/35www.camptocamp.com /

How to generate Docker images?

■ Previous attempt: Dockerfile pulls generic webapp from Continuous Integration

■ More interesting: docker images built directly from the source code, using docker-maven-plugin by Spotify

mvn clean package docker:build -Pdocker proxy

→ It allows us to simultaneously address the dev + prod usecase

Page 24: georchestra SDI: Project Status Report

24/35www.camptocamp.com /

So, what are the possibilities right now to install geOrchestra ?

Page 25: georchestra SDI: Project Status Report

25/35www.camptocamp.com /

Docker in production■ Source code on public repo

■ Config on private repo

■ Internal CI (jenkins) builds* from source & config

■ Images are pushed to a private docker hub repo

■ Rancher pulls images* on production instances

■ Production instances on a public cloud provider (OVH)

* still a manual step

Page 26: georchestra SDI: Project Status Report

26/35www.camptocamp.com /

Did I mention Rancher ?

Page 27: georchestra SDI: Project Status Report

27/35www.camptocamp.com /

Rancher may handle several environments

Page 28: georchestra SDI: Project Status Report

28/35www.camptocamp.com /

In each environment, 1+ hosts are registered

Page 29: georchestra SDI: Project Status Report

29/35www.camptocamp.com /

Rancher offers many « stacks » (docker compositions)

Page 30: georchestra SDI: Project Status Report

30/35www.camptocamp.com /

… that we pick & configure

Page 31: georchestra SDI: Project Status Report

31/35www.camptocamp.com /

Page 32: georchestra SDI: Project Status Report

32/35www.camptocamp.com /

The geOrchestra stack as a graph

Page 33: georchestra SDI: Project Status Report

33/35www.camptocamp.com /

What we're up to ?■ As a company :

○ Migrating customer productions to Docker

○ Taking advantage of the ELK + Prometheus/Grafana stacks

○ Investigating HA / HP with Docker and Rancher

■ As a community-driven project:○ Trying to have a proper CLA

○ We had roles, now we're adding groups

○ Defining a new, responsive, advanced viewer

○ More industry-specific modules (eg : cadastre ...)

https://www.flickr.com/photos/hytam/24566832215

Page 34: georchestra SDI: Project Status Report

34/35www.camptocamp.com /

Thanks !Links

■ This presentation https://goo.gl/lN736Q

■ Website http://www.georchestra.org/

■ Github https://github.com/georchestra/georchestra

■ Demo https://sdi.georchestra.org/

Contacts

■ Email [email protected]

■ Twitter @georchestra

Page 35: georchestra SDI: Project Status Report