Mappe on-premises con Docker

Pubblicato il 18 aprile 2018

Mappe on-premises con immagine Docker

Lavorare con un'enorme quantità di dati geografici non è un compito facile. Abbiamo deciso di dividere il lavoro con la tecnologia cluster. Utilizzando Docker, siamo stati in grado di elaborare petabyte di dati o di servire mappe del mondo self-hosted in 10 minuti. La nostra soluzione basata sulla tecnologia Docker è stata presentata alla conferenza DockerCon.

Mappe del mondo autogestite

Quando un'azienda prende in considerazione l'utilizzo di una mappa, la prima opzione presa in considerazione è per lo più uno dei grandi fornitori di mappe gratuite. È quello che la maggior parte delle persone conosce e che considera gratuito: in realtà, è sempre a pagamento, sia con i dati personali dell'utente sia, quando si tratta di un uso estensivo da parte di un'organizzazione, con una somma significativa di denaro. Le mappe vengono addebitate per l'utilizzo offline, dietro il firewall, per il tracciamento degli asset o semplicemente se il numero di visitatori aumenta. Tutte queste limitazioni possono essere evitate con le mappe self-hosted.

In OpenMapTiles vi offriamo mappe del mondo basate su OpenStreetMap. Questo progetto di mappatura collaborativa include tutte le infrastrutture importanti per una mappa di base, come strade, case, vie, dati sull'uso del suolo, punti di interesse e molto altro. Inoltre, i clienti a pagamento hanno accesso al modello di elevazione digitale e alle curve di livello per costruire mappe esterne e immagini satellitari di tutto il mondo. È inoltre possibile aggiungere i propri geodati e utilizzare lo stesso stile di mappa per personalizzarne l'aspetto.

OpenMapTiles Server, che consente di eseguire tutto questo dalla propria infrastruttura, utilizza la tecnologia dei container Docker. I requisiti hardware sono così bassi che è possibile eseguirlo anche sul proprio portatile. Inoltre, non è necessario essere connessi a Internet, quindi le mappe possono essere utilizzate offline o dietro il firewall. Il progetto OpenMapTiles è open-source, il repository della comunità è disponibile su GitHub.

Petr Pridal e Martin Mikita del team MapTiler presentano l'hosting di mappe dalla propria infrastruttura alla DockerCon 2017.

Mappa del mondo in 10 minuti con Docker

OpenMapTiles Server è disponibile in Docker hub o, se avete già installato Docker, lanciando il contenitore da Kitematic o eseguendo questo comando:

docker run --rm -it -v $(pwd):/data -p 8080:80 klokantech/openmaptiles-server

Visitate quindi la pagina web http://localhost:8080/ nel vostro browser e sarete guidati attraverso una breve procedura guidata, in cui dovrete selezionare se volete servire l'intero pianeta, un Paese o una città, quale stile di mappa volete usare o se volete usare il vostro, la lingua predefinita per i visitatori, che tipo di servizi volete eseguire (piastrelle raster, piastrelle vettoriali, WMTS, WMS o mappe statiche).

Come detto in precedenza, i requisiti hardware sono davvero bassi: le piastrelle vettoriali pre-generate di tutto il mondo hanno appena 50 GB, quindi il requisito minimo è fissato a 60 GB di spazio su disco rigido e 8 GB di RAM. Se si desidera avere piastrelle raster, è necessario più spazio, poiché le immagini raster occupano più spazio. Il servizio di piastrelle prerenderizzate ha il vantaggio di richiedere meno hardware rispetto al servizio di piastrelle su richiesta, in cui è necessario eseguire PostgreSQL, Nginx e altri. Inoltre, la configurazione è molto più semplice e l'impostazione del server è un'operazione alla portata di una persona con conoscenze informatiche di base.

Mappa del mondo intero può essere eseguito su un computer con 60 GB di spazio su disco rigido e 8 GB di RAM.

La soluzione basata su OpenMapTiles Server è completamente scalabile (orizzontalmente + verticalmente); il ridimensionamento può essere effettuato dinamicamente in base al carico di lavoro. La scalabilità richiede Map Server, Memserver e un volume collegato, che consente di moltiplicare le macchine. È possibile ottenere lo stesso risultato utilizzando Swarm / Kubernetes.

OpenMapTiles Server procedura grafica guidata

Breve procedura guidata grafica in cui si selezionano i servizi da eseguire

Elaborazione di Big Data geospaziali su un cluster Docker

L'intera tecnica di elaborazione di grandi geodati può essere suddivisa su un cluster utilizzando la tecnologia dei container Docker.

La nostra soluzione inizia con la suddivisione dell'intero lavoro in lavori più piccoli e l'invio alle macchine separate. Ognuna di esse riporta costantemente metriche e registri al server master. Una volta che il lavoro viene contrassegnato come completato, il lavoro finito viene inviato allo storage di output, il server di controllo invia un altro lavoro e l'intero processo ricomincia. Lo storage di input e output può essere qualsiasi cosa, dal proprio server a servizi cloud come Amazon S3 o Google Cloud Storage.

Con il processo descritto sopra, siamo stati in grado di eseguire il rendering dei dati OpenStreetMap dell'intero mondo con il progetto OpenMapTiles (126 milioni di tile) in un giorno utilizzando 32 macchine, ciascuna dotata di 4 core. Questo lavoro richiederebbe altrimenti circa 128 giorni di tempo per la CPU. La stessa tecnica è stata utilizzata per il rendering dei dati raster utilizzando il nostro MapTiler Cluster. Utilizzando un cluster, siamo stati in grado di convertire 60 TB di immagini aeree USA, creare OMT Satellite o elaborare petabyte di dati satellitari per i clienti.

MapTiler Cluster GUI web MapTiler Cluster GUI web

Volete saperne di più?

Se volete saperne di più, guardate il video della nostra presentazione, disponibile su YouTube. E non dimenticate di visualizzare le diapositive su Slideshare.

Martin Mikita

Senior Tech Lead & Developers Chief
Published on Apr 18, 2018

Scopri MapTiler in francese!

Visita il sito maptiler.fr

Přečtěte si více v češtině

Více na maptiler.cz

Leggi di più in spagnolo

Visita maptiler.es

Di più in olandese

Vai a maptiler.nl

日本語で詳細をみる

maptiler.jp へ

Altre informazioni sono disponibili

su MapTiler.de

ديزملا فشتكإ

maptiler.ae ىلإ لقتنا

Esplora MapTiler in Svizzera

Visita MapTiler.ch