Upload
camptocamp
View
90
Download
0
Embed Size (px)
Citation preview
geOrchestra SDIProject Status Report
François Van Der Biest
#FOSS4G2016
2016-08-25
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
3/35www.camptocamp.com /
SDI ?
4/35www.camptocamp.com /
Spatial Data Infrastructure
Services(OGC + REST)
Client ClientClientClient
Core
Modules
5/35www.camptocamp.com /
Part I
geOrchestra ?
6/35www.camptocamp.com /
https://github.com/georchestra/georchestra
An OpenSource project ...
7/35www.camptocamp.com /
https://www.openhub.net/p/georchestra
8/35www.camptocamp.com / https://sdi.georchestra.org/mapfishapp/map/2d173366676bf584e0011c45e423c9dd
Many production instances ...
9/35www.camptocamp.com / A large, diverse and active community
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 ...
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
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 »
13/35www.camptocamp.com /
For the administrators:
■ Console
Manages users, groups & roles
■ Analytics
Displays stats on OGC Services usage
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
15/35www.camptocamp.com /
Part II
16/35www.camptocamp.com /
What happened to geOrchestra since Seoul ?
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
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
19/35www.camptocamp.com /
GeoFence 2 → 3■ No more separate UI : integrated in GeoServer
■ Easier to reorder rules
■ Rules for delegated workspace admin
20/35www.camptocamp.com /
GeoNetwork 2 → 3Main improvements:
■ User Interface
■ Modern technologies
■ Better MD editor (incl. suggestions)
■ MD validation tool
■ Integrated viewer
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
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
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
24/35www.camptocamp.com /
So, what are the possibilities right now to install geOrchestra ?
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
26/35www.camptocamp.com /
Did I mention Rancher ?
27/35www.camptocamp.com /
Rancher may handle several environments
28/35www.camptocamp.com /
In each environment, 1+ hosts are registered
29/35www.camptocamp.com /
Rancher offers many « stacks » (docker compositions)
30/35www.camptocamp.com /
… that we pick & configure
31/35www.camptocamp.com /
32/35www.camptocamp.com /
The geOrchestra stack as a graph
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
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