Hi all, I would like to setup and maintain 3 services that use OSM: (1) Nominatim, (2) Map Tile Server, and (3) Overpass API. I am thinking of keeping these three services separate by creating Docker images for each one of them and deploying them on the same physical machine. Do you think this is a good idea in terms of maintenance or would you suggest another approach? Also, do you have any tips for regular updating of the maps? Thanks in advance! asked 09 Nov '17, 09:38 pesho318i aseerel4c26 ♦ |
The answer is something between "don't" and "that will work fine" depending on size of area you are working with and available HW.
The other thing is that the available Docker images tend to be orientated at development and not performance (and disk/IO are a significant concern for all three applications).
Hm, are you basing your statement on a particular study? All of the benchmarks I've encountered show that Docker's performance is comparable to native hardware performance (on Linux machines in particular). Here are a few links: https://stackoverflow.com/questions/21889053/what-is-the-runtime-performance-cost-of-a-docker-container and https://www.percona.com/blog/2016/02/11/measuring-docker-io-overhead/
Regarding these three services, I am expecting more load on the tile server, and the other two will handle occasional requests.
It is not that Docker itself is an issue, but more that you need to consider where to locate the databases on what kind of media and filesystems, and that in general you start needing largish machines for essentially anything that provide services for the full planet.