El proyecto cocrea-geonetwork tiene como objetivo la automatización del despliegue de la aplicación Geonetwork en diferentes tipos de infraestructura destino. Hasta el momento, son soportadas una versión del despliegue para AWS, una para Vagrant/Virtualbox, y OnPremise.
La arquitectura propuesta para el despliegue tiene en cuenta los siguientes componentes:
-
Servidor de aplicaciones - provee el "runtime" para ejecutar la aplicación Geonetwork
-
Servidor (o servicio en el caso de AWS) de bases de datos - a ser usada para persistencia de parte de la mayor parte datos funcionales de Geonetwork
-
Servidor Elasticsearch - alberga Elasticsearch, un software de indexamiento necesario para la funcionalidad de Geonetwork que permite el analisis de datos WFS
-
Servidor web - sirve como proxy a la infraestructura, exponiendo solo lo necesario para acceder a la aplicación a traves del navegador de manera "segura"
Aunque mucho del codigo podria ser reutilizado para lograr un despliegue en gran parte de las distribuciones de Linux, el desarrollo ha sido enfocado y probado solo en maquinas destino CentOS 7 y RedHat Enterprise Linux 7.
Las tecnologías utilizadas varian en su naturaleza y aplicación (servidor de aplicaciónes, frameworks, etc), algunas son direcamente la implementación de uno de los componentes detallados en la arquitectura de mas arriba (ej: Apache Tomcat -> Servidor de aplicaciónes) y otras son frameworks o herramientas de apoyo para la automatización y el despliegue de la infraestructura (ej: Ansible -> Automated Configuration Management). A continuación una lista de las tecnologías mas importantes:
- Apache Tomcat - Servidor de aplicaciones
- Apache Http Server - Servidor Web
- Elasticsearch - Software de indexamiento
- MySQL - Base de datos
- Ansible - Automated Configuration Management
- Vagrant - Herramienta para la creacion de ambientes virtuales
- Virtualbox - Software de virtualización
Dependiendo de las necesidades se puede hacer uso de una de las versiones del despliegue que han sido implementadas (AWS o Vagrant/Virtualbox). Se debe tener en cuenta que aunque en ambos casos el despliegue lucira como esta detallado arriba (con los diferentes componentes corriendo e interactuando entre sí) la version AWS ha sido implementada para lograr un ambiente de producción y la version basada en Vagrant para realizar pruebas del software o desarrollo.
Para ejecutar el despliegue local siga las instrucciones aquí
Para ejecutar el despliegue OnPremise siga las instrucciones aquí
Para la opción de despliegue en AWS, en esta documentación se presentan dos opciones: "manual" o "simple". La opción "manual" esta orientada a usuarios con una experticia mayor en las tecnologías utilizadas y por lo general con deseos de realizar cambios no triviales a la configuración (via codigo). Por otro lado la opción "simple" despliega la infraestructura con los valores sugeridos por defecto.
Si desea ejecutar la despliegue de manera "manual" siga las instrucciones aquí.
Si desea ejecutar la despliegue de manera "simple" siga las instrucciones aquí.