Hi,

For a small project as part of the Swiss National Geodata Infrastructure
(grant project) several people worked on a study document called
"Cloud-optimized OGC WMS Server" where we analyzed problems that can arise
when you install an OGC web server in the cloud (e.g. docker image deployed
via Kubernetes, OpenShift or the likes). This work had a focus on QGIS
Server with it's own set of problems - but some of the issues studied in
this document also matter for other OGC WMS servers, like UMN Mapserver or
Geoserver, such as the load balancing problem, how to share resources, etc.

Here is the link to the document (not in final form yet, but close to being
final):
https://docs.google.com/document/d/1cOUWgzalRx7CHWTFgHz6-uyScsCcoaEmYC0VBHdZShQ/edit#heading=h.c7gq4lie7ys2

I wonder if any similar work has been done specifically around problems,
challenges and solutions when you deploy Geoserver in cloud environments?
Do you know of any work?

We came across this project here: http://geoserver.org/geoserver-cloud/ -
this is probably the closest system compared to what we have in mind. Can
you share a bit of experience with this system? How well does it work in
practice? What are the challenges/problems and what works well?

One major problem that probably all installations of an OGC WMS server have
is how to deploy a more intelligent load balancing system? (the "Gateway"
in the above mentioned Geoserver system architecture diagram). Often, the
default load balancer is some kind of round robin load balancer system, but
this frequently leads to inferior results where "cheap and short" requests
(such as a simple GetFeatureInfo or GetLegendGraphics request) can be
queued behind a long-running GetMap request or PDF generation task
(potentially with many layers, many features and a high-dpi, such as
600dpi, where the request can take several seconds to process. Meanwhile,
the GetFeatureInfo might still wait behind a long-running request, while
parallel instances would have free resources, because they have just
finished their own task.

As mentioned in our study document it is of course possible to separate the
requests to dedicated instances for short requests and potentially long
requests, to avoid the above mentioned scenario, but we are not so
satisfied with the solution, as it is  a bit inflexible and also a bit
harder to maintain. Ideally, we would like to have a more intelligent load
balancer with incoming queue that holds back requests as long as all WMS
server instances are busy. This would avoid the situation where a "less
intelligent" load balancer would simply forward the requests to instances
based on Round-Robin principle.

Do you know of any additional work in the Geoserver community regarding
cloud deployment, cloud optimization, intelligent load balancing and
resource sharing?

In our study document I'd like to also include the perspective of other WMS
servers besides QGIS server, so any input would be welcome.

Thanks,
Andreas

--
Andreas Neumann
QGIS.ORG board member (treasurer

--
Andreas Neumann
QGIS.ORG board member (treasurer)
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to