IDECOR… en “la nube”!

Ing. Aldo Algorry
Profesor e investigador de la Universidad Nacional de Córdoba
Responsable de Tecnología y Base de Datos
IDECOR


14 de agosto 2019

En nota anterior presentamos los conceptos básicos de una “infraestructura en la nube”. Presentamos ahora en detalle… cómo es la arquitectura de IDECOR.

A nivel de software

Para definir la arquitectura nos guiamos por las recomendaciones de IDERA , que utiliza en sus implementaciones software “open source”.

Mapas Córdoba es el geoportal de IDECOR donde se publica información en diferentes formatos, como mapas temáticos, geoservicios o datos para su descarga. Estos formatos son provistos por servidores de datos geográficos a través de un software llamado “GeoServer”.

GeoServer publica la información a través de geoservicios web, como WFS (Web Feature Service) y WMS (Web Map Service), los que permiten publicar datos geográficos de manera estándar (según la Open Geospatial Consortium). Una habilidad de estos geoservicios es que pueden ser consultados por otra aplicación o software SIG para la explotación de los datos o su republicación. Actualmente el nodo de IDECOR tiene implementado GeoServer versión 14 sobre Apache Tomcat 8, que permite la publicación de aplicaciones Java en la web. Como servidor web se utiliza “Apache 2”.

El formato WMS entrega los mapas como imágenes de cada capa, divididas en cuadros (tiles), que son superpuestas en el cliente web (un browser como Chrome o Internet Explorer, usando la librería Javascript “OpenLayers”). Las imágenes son distintas para cada escala geográfica y deben cubrir toda la extensión del mapa; a mayor zoom se deben generar mayor cantidad de cuadros (tiles) de imágenes.

Utilizamos un almacenamiento temporal (caché) que permite pregenerar las imágenes de los cuadros y tenerlas disponibles sin necesidad de generarse cada vez que son solicitadas por un usuario. Si bien esta política consume mucho espacio de almacenamiento, permite una sustancial mejora en la velocidad de respuesta y la performance en general de los servicios. La gestión de este caché se realiza usando GeoWebCache.

Por su parte, para presentar los mapas en la web se utiliza el gestor de contenidos geoespaciales GeoNode cuyo visor de mapas está personalizado para adaptarse a las necesidades de los usuarios. GeoNode implementa un framework de gestión de datos llamado “Django”, desarrollado en lenguaje Python, que permite una gestión amigable de las tablas de datos que utiliza GeoNode.

Para el almacenamiento se utiliza el motor de bases de datos relacional PostgreSQL con la extensión “PostGIS”, que posibilita gestionar información geoespacial con mayor eficiencia. Todas las implementaciones se encuentran sobre servidores con sistema operativo Debian 8.

  con la extensión “PostGIS”, que posibilita gestionar información geoespacial con mayor eficiencia. Todas las implementaciones se encuentran sobre servidores con sistema operativo Debian 8.

La infraestructura

El nodo en la nube de IDECOR utiliza el servicio “Open Cloud” de Telefónica, que tiene su infraestructura basada en tecnología provista por “Huawei”. Si bien la configuración es ajustable y variable según requerimientos del momento, la arquitectura actual se indica en el siguiente esquema (Figura 1).

Figura 1: Arquitectura actual Nodo IDECOR en la nube

Todos los accesos a la infraestructura se encuentran orquestados por un servidor que realiza las tareas de balance y ruteo, detrás de un firewall.

Los servicios geoespaciales WMS, que responden a las consultas realizadas al portal GeoServer, son provistos por dos servidores vinculados por un balanceador de carga interno que distribuye las tareas. Para el almacenamiento temporal de los tiles existe un servidor dedicado, con GeoWebCache instalado. Un tercer servidor con GeoServer se encuentra disponible para aquellos usuarios y aplicaciones externas que consumen geoservicios directamente o descargan archivos de manera independiente al Visor de Mapas, ello a fin de no afectar la performance de los usuarios en general.

Para las aplicaciones Web desarrolladas por IDECOR, como el portal Mapas Córdoba o el Observatorio del Mercado Inmobiliario (OMI) se dispone un servidor independiente. La base de datos está unificada en un único servidor al que acceden todas las aplicaciones, que cuenta con motor PostgreSQL + PostGIS.

Adicionalmente se dispone de un servidor dedicado para “data science”, donde se ejecutan análisis estadísticos avanzado y de inteligencia artificial, con “Rstudio”.

La siguiente tabla presenta las capacidades y característica de cada servidor.

Descripción Cantidad de CPU Memoria RAM Software
LOAD BALANCER (HaProxy) 4 8 GB Haproxy Tomcat
GEOWEBCACHE 4 8 GB GeoWebCache Tomcat
GEOSERVER 01 4 32 GB GeoServer Tomcat
GEOSERVER 02 (servidor cluster para FAILOVER) 4 8 GB GeoServer Tomcat
GEOSERVER 03 (servidor para la provisión de geoservicios  y descargas) 4 8 GB GeoServer Tomcat
SERVER GEONODE 4 8 GB GeoNode Django
SERVIDOR BD POSTGRE/POSTGIS 4 8 GB PostgreSQL + PostGIS
SERVER APLICACIONES 4 8 GB Tomcat Apache
R STUDIO SERVER 2 16 GB Rstudio

Demanda y consumos

A fin de evaluar el nivel de demanda y accesos a la infraestructura de IDECOR, el siguiente gráfico presenta las estadísticas principales de los últimos 4 meses (Figura 2), entre las que puede destacarse un promedio de 1.200 visitas diarias, en jornadas laborables.

Figura 2: Estadísticas de accesos y consumos,
período 1-Abr-2019 al el 31-Jul-2019

Categorías: Novedades