Ricardo is a seasoned information technologies professional. After retiring from Intel in 2015, Ricardo has been engaging in freelance work and volunteering for environmental non-profit organizations. He developed and deployed several 2D/3D mapping applications using open source technologies. Ricardo was a presenter at FOSS4GNA-2016 and FOSS4G-2017.
Provita, an environmental NGO based in Venezuela, needed a multi-lingual Geoportal to disseminate their national and regional GIS data to researchers, 3rd party organizations, and the general public. They needed to be able to upload and publish data sets and their associated metadata self-sufficiently, as well as the ability for end-users to preview the datasets on an interactive map. Furthermore, Provita needed the Geoportal to be very economical and hands-off regarding operation and maintenance.
In this session, we describe in the detail how we developed a high-performance and cost-effective serverless Geoportal using a statically generated site and tilesets, taking advantage of the Jamstack, Github APIs, and Amazon Web Services (AWS) for storage and on-demand computation.
We explain how we used Gridsome, an open source static-site generator for Vue.js, to create end-user and administrator interfaces, and how we integrated the MapLibre GL open source mapping library, to provide a map preview capability for end-users.
We discuss options we considered for back end storage of GIS files, metadata and tilesets, and describe how we architected a low-touch, low-cost, scalable end-to-end solution. We also describe how we implemented user authentication and access control using a combination of Github OAuth, Lambda functions and AWS policies. In addition, we present our approach for very inexpensive and extremely flexible site hosting using Netlify.
Finally, we explain our approach for tile generation using AWS batch job capabilities and the use of spot instances to minimize costs.
Attendees interested in developing similar applications or contributing to this open source, open data project, will benefit from lessons learned discussed in this session.