ESRI Cloud vs A Custom Geospatial Stack
Many businesses and organizations deal with location data. These days, interactive web maps are ubiquitous and practically assumed to be a component of any serious business intelligence or data analysis venture. While many of us know we need web maps, we don't always know how to choose the correct mapping system for our needs. This post covers how decision-makers can choose between off-the-shelf commercial systems like ArcGIS Online versus building out a custom geospatial stack.
What We're Comparing
These days there are a ton of options and providers when it comes to geospatial data and services. It'd be impossible to compare all possible options, so we are going to stick to two options:
ArcGIS Online - the cloud-based mapping platform from industry-leader ESRI
Custom Stack - PostGIS database, API Server, and front end web application
We also need to define what we're comparing. That is, what makes up a web-based GIS system?
Data Store - data needs to be stored in some sort of system, whether file-based or something like a relational database management system.
Editing and Analysis System - most organizations need some way for employees to edit and process data.
Data Server - all web-based geospatial systems need a way to serve data over the internet so it can be consumed by various applications. This is commonly a REST API.
Visualization Platform - every system needs a way to display interactive maps to end-users.
ArcGIS Online
ArcGIS Online (AGOL) is a platform-as-a-service offering from ESRI that provides all the components it takes to set up a web-based GIS system for organizations of all types. It includes the following features:
User and Role-based Access Management
AGOL has a built-in user management system that allows administrators to define roles that control access to content on the system.Content Management System
AGOL provides a system for uploading, searching, and creating metadata for layers and other content. On top of that, it provides a built-in web map builder that enables end-users to create and style web maps without the need for code. Tools like Web AppBuilder and Experience Builder take it a step further and enable users to build basic applications without code.API Server
The entire ESRI cloud system is powered by a robust REST API that exposes endpoints for querying and editing geospatial data. This API is the backbone of every user interaction with the AGOL system and is also how external applications (i.e. custom web apps) can consume and display content that is stored in AGOL.
What it's best for:
Supporting desktop and field GIS users
AGOL integrates well with other ESRI products such as ArcGIS Pro for desktop GIS and ArcGIS Collector for field data collection. If your organization is already invested in ESRI desktop GIS software, or if you have significant field data collection needs, then AGOL's out-of-the-box integrations with desktop and field GIS system is probably a good choice.Sharing with internal users and/or the public
AGOL prices increase as the number of users increases. ESRI's standard license terms state that any user that accesses private content stored on AGOL must do so with a unique named user account. The terms also state that external third parties (aka customers) cannot be named users in your organization. This model works fine when the people that need to access your organization's data are internal users, but if you need to share content with access controls with external parties like your clients or customers, then ESRI's model and terms of use become an issue.Quick turnaround from concept to implementation
Pre-built platforms like AGOL make it quick for users to turn their data into interactive maps and apps that check most of the boxes on your needs list.
Custom Geospatial Stack
A custom geospatial stack can be attractive to many organizations for a number of reasons. People are often initially drawn to open source software because of potential cost advantages - namely, that most open-source software is free, but arguably a more important benefit of open-source software is more permissive licenses that make it easier to build commercial products without being handcuffed by proprietary licensing or usage thresholds.
There are tons of options when it comes to designing a custom geospatial stack. At CartoLab, our typical applications are built with the following components:
PostgreSQL with PostGIS
We use this combination as the foundation of almost every application we build. PostgreSQL alone is an amazing RDBMS that makes it possible to do things like build your own user authentication system complete with row-level access control based on user roles. When you add PostGIS on top of Postgres it makes for one of the most powerful spatial data management systems there. For data editing needs, PostGIS database can be read and edited directly in QGIS, an open source desktop GIS program.REST and GraphQL APIs
We tend to build out relatively lightweight APIs with NodeJS. We really like GraphQL for powering web applications but also write RESTful APIs in many scenarios. In either case, these APIs are designed to read data in a PostGIS database and transform the database binary geometries into a format like GeoJSON, which can be consumed by most web mapping libraries. A popular alternative to a 'roll-your-own' spatial server is GeoServer, a mature open-source spatial server that can serve a variety of spatial format standards such as WMS and WFS.Front-end Web Applications
We like building custom front-ends using ReactJS and a variety of mapping libraries and APIs. For the last several years, our go-to maps library has been MapboxGL.js
When It's a Good Choice
You need affordable access to geospatial data managed in a relational database.
While AGOL supports some relationship concepts, it does not provide users with the same experience that can be achieved by a relational database management system (RDBMS). And while ESRI does offer ArcGIS Enterprise, which can integrate with an RDBMS, the licensing costs are often prohibitive for many organizations. Open-source systems built around PostGIS can provide low-cost access to an extremely powerful spatial database.
Building commercial web applications.
An open-source stack is ideal for building commercial web applications because the licensing terms are generally very flexible. When building your own product, it can be risky to depend on the licensing terms of other for-profit companies because the future term and pricing changes can significantly impact the economics of your product.Integrating with other business systems.
A custom geospatial stack provides organizations with the opportunity to integrate their geospatial data with the rest of their business data. Almost all popular database systems have some level of spatial support these days, which means that organizations may not need to set up completely new systems to manage spatial data. In contrast, platforms like AGOL perpetuate the existence of "GIS silos" where spatial data often stands apart from the rest of an organization's data management systems.Control over sharing your content with external parties.
As mentioned above, AGOL licensing terms make it so that all parties that have access to a dataset must have the proper AGOL organization and name user licenses. This model is particularly hard on consulting companies who want to share maps they've created with clients.
Conclusion
ArcGIS Online and custom geospatial stacks both fill important roles in the geospatial world. Before you can choose the best option for your use case, you need to spend some time defining your needs and priorities. In general, AGOL is a great choice if you need to support existing GIS users or want to get up and running quickly and are willing to deal with possible restrictive licensing terms. On the other hand, if flexibility and being unencumbered by proprietary licenses is critical to your needs, then an open-source geospatial stack is probably the best choice.
At CartoLab, we specialize in building internal data portals and commercial web applications using open-source geospatial solutions. Contact us today if you'd like to learn how a custom geospatial stack can benefit your organization.