Mapserver layer handling, production, and management in larger scale environment
Managing hundreds of layers from different sources in a Mapserver production is extensive work. Keeping them up to date, scalable and in constant deployment takes time and effort. Not to mention monitoring all of it.
By combining a configuration management tool (open-source Progress Chef in our case) and Mapserver, we have a continues deployment cycle. Mapserver’s map file is divided into pieces that Chef puts together. All the layer files are separate entities which are easily manageable and changeable. Different map files can be produced combining different layers to keep map files smaller but still all in one place for management. It also enables to switch off or turn on layers easily.
This also gives the benefit of keeping development environment different from production.
Through MapProxy seeding process we also provided our thousands of users with their base map services and serve them WMS, WFS and our own produced Vectortiles.
All of it is also under constants monitoring and the logs are processed to produce simple statistics to see which applications are requesting, which layers are being accessed the most. We have built a notification system that notifies us immediately through hooks if our services are down or there are errors in any of the Mapserver layers requests.
It brings us back to the point of how to make your Mapserver layer handling, production, and management smoother and more straightforward. Let us share our insight!