QJazz

QGIS server solution for the cloud

Return of experience from GIS hosting services with Lizmap and QGIS server

https://github.com/3liz/qjazz

FOSS4G BE 2025 - QGIS ready for the cloud

GIS hosting services with Lizmap and QGIS server

sssmaller center

FOSS4G BE 2025 - QGIS ready for the cloud

GIS hosting services with Lizmap and QGIS server

Numbers:

  • 580 QGIS server instances
  • 1500 projects
  • 47 physical servers
  • 407 PosgreSQL databases
  • 377 lizmap instances
FOSS4G BE 2025 - QGIS ready for the cloud

Problems to solve:

  • Scalability
  • Distributed architecture
  • Monitoring
  • Zeroconf (ideally !)
  • Security

Dealing with issues

  • Projects with many layers: up to 200 layers per project
  • Loading times of several minutes
  • Memory issues
  • High latency requests (mainly remote services)
  • Stuck server instances
FOSS4G BE 2025 - QGIS ready for the cloud

When things go wrong

smaller center

FOSS4G BE 2025 - QGIS ready for the cloud

QJazz

Microservices with gRPC protocol:

https://github.com/3liz/qjazz

  • Built-in Load balancing
  • Built-in healtcheck support
  • Dedicated administration service
  • Bi-directional streaming support
  • Independent from HTTP front-end
FOSS4G BE 2025 - QGIS ready for the cloud

QJazz overview

sssmaller center

FOSS4G BE 2025 - QGIS ready for the cloud

QJazz services

  • OCG OWS services (WMS, WFS, ...) - OGIS server native services
  • STAC catalogs view of Projects and layers
  • OGC API Maps - https://ogcapi.ogc.org/maps/
  • OGC API Processes - QGIS Processing as a service
  • Support for S3 backend (Projects and data)
FOSS4G BE 2025 - QGIS ready for the cloud

QGIS Projects managment in QJazz

From a 'project as resource' perspective

  • Consider Project as an application
  • Corollary: QGIS server is an application server
  • Control what is published (from a customer perspective)
  • Keep some level of flexibility (dynamic caching)

From a deployement perspective

  • Projects partionning (routes)
  • Handle access controls to backend Apis
  • Easy to scale
FOSS4G BE 2025 - QGIS ready for the cloud

Qjazz project's storage


sssmaller center

FOSS4G BE 2025 - QGIS ready for the cloud

Performances considerations

Horizontal scalability governance

  • What is the expected request rate ?
  • How request distribute on projects ?
  • How many different projects I have to handle ?

Impact on request processing

  • How many layers in my project ?
  • Data volumetry ?
  • Accesses to database backends/external services ?
FOSS4G BE 2025 - QGIS ready for the cloud

There is no single strategy to rule all your projects

FOSS4G BE 2025 - QGIS ready for the cloud

Conclusion

  • Revisiting QGIS server as an application server
  • Cloud friendly integration (QGIS servers as micro-services)
  • Address the problem of serving multiple use cases
    with many different kind of QGIS projects.
FOSS4G BE 2025 - QGIS ready for the cloud

Thank you



Questions ?

FOSS4G BE 2025 - QGIS ready for the cloud

Don't focus to much on these numbers. What's interesting in those numbers in the opportunity to have a relativily large samples of usecases. And different usecase bring their own set of issues. Problems are interestig because you have to solve them. This is precisely what I want to talk about.

We do not impose strong constraints on uploaded projects So we can have many differents situations

In order to scale you will need to replicate your environment That mean replicating all projects in memory Also Problems of synchronization of loaded projects in the different units

Address the problem of sacalabiliy and deployemnt

Need change our point of view about projects.

Adapt your services to the project's execution context

Projects may be very differents They cannot be managed the same way

We deal with large typology projects there is obviously no a single strategy