Reliability of overpass.de/api

I am currently working on an app which will allow users to display and explore all outdoor artwork in their vicinity based on data from OSM and Wkipedia.

Things were coming along nicely until yesterday afternoon, when the overpass.de server didn’t accept my queries any longer. It’s working again now, but this raises the question if I can build a reliable app based on the public overpass servers.

The options as I see them right now are:

  1. Stick with overpass.de: Might work if yesterday’s outage is very rare.

  2. Iterate between servers: Not sure if there are a bunch of servers to iterate between? I read of overpass.ch? Also user experience will be bad as the app goes from server to server and potentially timeout to timeout.

  3. Introduce some sort of local node cashing: Needs a local database and some clever code to manage things. This will also not prevent all outages, if the user never checked a particular region before, nodes will not be in the cache, the user is still stuck.

  4. Host my own overpass server: Whilst I think I am able to technically pull this off, the financial implications will change things dramatically. I was considering offering the app for free on F-Droid and the likes, and for little one-off money on GooglePlay. A €600pa (?) hosting contract would change dynamics a lot.

Can you confirm I got my options right? Anything I am overlooking?
Thanks

Welcome to the real world where TANSTAAFL rules.

If you want high reliability, and a single server of any type is not going to provide that, you are going to have to spend money/effort/time. Many of us spend a lot more than €600p.a. for OSM related services that don’t have a remote chance of being monetized in any form so that is nothing special.

Anyway my suggestion would be to run two postgis databases (with osm2pgsql) and fill them just with the objects that you are interested in, that should keep them very small and costs and effort at a reasonable level.

Alternatively you can subscribe to a commercial overpass service, for example with geofabrik. AFAIK that is still very affordable, but I don’t know what kind of SLAs they provide (and service history).

1 Like

Thanks @SimonPoole, very good input!
I like the Postgres option, as that’s my db of choice for other projects as well.

<>
In my case I would pull all global nodes tagged “artwork” and that would be it?
Given that in this case there will be no overpass I would have to provide and secure the “api” to postgres (through a reverse proxy) myself I guess?

The two servers is primarily for redundancy rather than load?

Will also check out geofabrik.

You will need to support all element types (that is nodes, ways and relations/MPs)* but that shouldn’t be an issue and determining a suitable vertex/node for display is trivial with postgis.

Security: yes at least a reverse proxy, I would interpose a small API and not expose postgres directly at all, that’s just asking for trouble. Two servers for redundancy.

* BTW you need to do that with overpass too.

1 Like