Migrating from MapServer to QGIS Server on Kubernetes
Why We Migrated
- Style Consistency: QGIS projects → direct server rendering
- Complex Queries: Native support for PostGIS
ST_functions - Unified Environment: Single toolchain for desktop/server
Migration Steps
- Containerized QGIS Server with custom plugins
- Helm chart for statefulset deployment
- NGINX reverse proxy with caching
- Gradual traffic shift using Istio
Performance Gains
| Metric | MapServer | QGIS Server |
|---|---|---|
| Req/sec | 42 | 127 |
| Style changes | 2h | 5m |
| Cold start | 8s | 1.2s |

