El documento describe una solución técnica para gestionar y acceder a datos geoespaciales de diferentes fuentes de manera escalable y estándar. La solución implica una arquitectura de microservicios con un API Gateway que permite consultar y representar los datos de forma uniforme. Los microservicios se encargan de ingestar y procesar los datos de cada fuente, mientras que el API Gateway unifica el acceso a través de consultas SQL y otros estándares.
2. HOT-Branding
and Design
Humanitarian Open Street MapsINDEX
Raúl Requero García
Twitter: @rrequero
LinkedIn: https://www.linkedin.com/in/requerogarciaraul
¿Quien soy?
19. Humanitarian Open Street MapsINDEX
Solución técnica - Arquitectura de Microservicios
● Escalable
● Tolerante a fallos
● Multi lenguaje
20. Humanitarian Open Street MapsINDEX
Solución técnica - API Gateway y Control-Tower
● Único punto de entrada
● Interfaz común
Control-Tower
● Autenticación y gestión de usuarios
● Cache
● Redirección dinámica
● Balanceo de carga
● Gestión de microservicios
● Extensible (plugins)
● Documentación basada en los
microservicios
https://github.com/control-tower
22. Humanitarian Open Street MapsINDEX
Solución técnica - Gestión de contenedores
● Auto Escalado
● Monitorización
● Gestión de clusters
● DNS
● Quotas
● Facil despliegue
● Historico de despliegues
● Gestión de secrets
● Etc
https://github.com/resource-watch/api-infrastructure
23. Humanitarian Open Street MapsINDEX
Solución técnica - Gestión de máquinas
● Gestión automática
● Facil despliegue de máquinas
y clusters
24. Humanitarian Open Street MapsINDEX
Solución técnica - Diferentes fuentes de datos
Document microservice
SQL-Plugin
Ingestión
SQL
Queries
25. Humanitarian Open Street MapsINDEX
Solución técnica - Diferentes fuentes de datos
Tiff microservice
Ingestión
WCPS
Queries
26. Humanitarian Open Street MapsINDEX
Solución técnica - Diferentes fuentes de datos
SQL
Queries
Feature-
service
Queries
SQL
Queries
SQL2GEE plugin
27. Humanitarian Open Street MapsINDEX
Solución técnica - Gestión de consultas
● Convierte de FS a SQL y
viceversa
● Parsea una consulta SQL o
FS y devuelve un JSON que
representa la consulta
https://github.com/resource-
watch/sql2json
Converter
28. Humanitarian Open Street MapsINDEX
Solución técnica - Gestión de geojsons
● Guardar poligonos
personalizados
● Obtener geojson de países,
ciudades, áreas de interés,
etc
● Cache de poligonos
Geostore
29. Humanitarian Open Street MapsINDEX
Solución técnica - Queries workflow
/v1/query?sql=selec
t * from <slug
dataset>&geostore
=<id>
query
/v1/query/<slug>?s
ql=select * from
<tableName>
Docu
ment
Dataset
Converter
{
Data: []
}
{
Data: []
} /v1/dataset/
<slug> { sql: “select * from
<tableName> where
st_intersects(the_geom,
<geojson>) “}
geostore
/v1/geostore/<id>
30. Humanitarian Open Street MapsINDEX
Solución técnica - Autorregistro de microservicios
register.json public-swagger.yml
31. Humanitarian Open Street MapsINDEX
Recursos
Skeletons
https://github.com/Vizzuality/node-skeleton
https://github.com/Vizzuality/python-skeleton
Microservices
https://github.com/resource-watch
https://github.com/gfw-api
Infrastructure
https://github.com/resource-watch/api-
infrastructure