Some tips and tricks about deploying software in the FOSS4G ecosystem. Backend and frontend scaling solutions are offered, and tips for a scalable solution are offered.
10. Tutorial #1: django
• https://docs.djangoproject.com/en/1.7/intro/tutorial01/
• Do not ignore these helpful notes:
11. Tutorial #2: geodjango
• “Use the source”
• Source installs can be just as dependable as package
management solutions
12. Side Note: Source Install
• Ensure that all script installations are scriptable
• Script & version package management installations
• Aim for a repeatable installation
13. Tutorial #3: celery
• More helpful log messages:
“UserWarning: Using settings.DEBUG
leads to a memory leak, never use this
setting in production environments!”
14. Side Note: Workers
• Long-running processes should be performed “out of
band”
• Use separate processes to do big tasks
18. Scaling GEOS & GDAL
• Single-threaded designs
• Apache: use the preform multiprocessing module
(mpm_prefork)
• gunicorn: use synchronous workers with many
worker_processes
19. Scaling Tiles
• Geoserver includes Geowebcache
• Cache WMS image tiles
• Automatic cache seeding
• Scriptable via REST
20. Scaling Tiles (cont.)
• Tilestache
• Plugs into Mapnik
• Use with MBTiles, Amazon S3, Memcache, etc
21. Scaling PostGIS
• Heroku provides the option of HA failover and PostGIS.
• Or, roll your own snowflake (WAL, Slony, Bucardo)