Geographica ha lanzado una nueva versión de su Docker de PostGIS, Breezy Badger, basada en PostgreSQL 9.6. Heredando todas las capacidades de la anterior pero con muchas funcionalidades extra. Descubre qué puede hacer por ti.
Desde Geographica, estamos muy contentos de anunciar el lanzamiento de Breezy Badger, una nueva versión de nuestro Docker de PostGIS, basada en PostgreSQL 9.6
Sin embargo, para aquellos que aún no estéis del todo familiarizados con estas materias vamos a empezar por el principio:
¿Qué es Docker?
Docker puede ser un poco complicado de entender al principio. A menudo, Docker es confundido con una tecnología de máquina virtual. Aunque ciertamente podría abusarse de su funcionalidad y utilizarse como tal, Docker en realidad crea dentro de una máquina un entorno de ejecución de procesos Linux completamente aislado del resto del sistema. Por lo que no es una máquina virtual en sí.
¿Y para qué sirve?
Las aplicaciones e implicaciones son tantas que no es exagerado decir que Docker ha cambiado la forma de desarrollar y administrar sistemas de toda la industria IT.
Docker permite, de una forma compacta, reutilizable y altamente reproducible, empaquetar un sistema de software que funciona aisladamente dentro del sistema, por lo que no entra en conflicto con el software instalado de forma nativa ni con las versiones de éste que pudieran estar presentes.
Esto permite que cada proyecto se desarrolle sobre versiones muy específicas de software durante todo su periodo de desarrollo: el propio desarrollo, las pruebas y el despliegue.
El equipo comienza el proyecto creando una infraestructura Docker compuesta de una o más imágenes (la base sobre la que se instala el software) que contienen el software requerido.
Estas imágenes son distribuidas al resto del equipo, que crea con ellas contenedores (imágenes utilizadas para un fin concreto). Estos contenedores están enlazados entre ellos, proporcionando una infraestructura de software cohesionada y personalizada para el proyecto.
Lo increíble de Docker es que estas imágenes son las mismas en desarrollo que en el despliegue de producción. Ya no hay que instalar software en los servidores: se instalan imágenes Docker que después son utilizadas cuantas veces sea necesario para crear contenedores que den servicio a cada una de las aplicaciones.
Las mismas imágenes que se han utilizado para el desarrollo son las utilizadas en los entornos de prueba y finalmente en el despliegue, por lo que los procesos de despliegue y actualización son limpios y rápidos.
Se acabaron los problemas de múltiples versiones de un mismo software instalados en el servidor, y se reducen enormemente los procesos de migración y prueba de nuevas versiones. Verdaderamente, Docker nos ha cambiado la forma de trabajar.
En Geographica somos grandes fans de Docker. “Voy a Dockerizar hasta a mi perro” es un chiste muy a cuento cuando comenzamos a utilizarlo, ya que fuimos creando imágenes Docker de todos y cada uno de los sistemas de software que utilizamos en los proyectos: bases de datos (PostGIS, Mongo), servidores web (nginx), servidores cartográficos (GeoNetwork, GeoServer), entornos de desarrollo, sistemas de información geográfica de escritorio…
Ya no instalamos software en nuestras máquinas apenas, utilizamos la imagen adecuada y ejecutamos el software desde ella. Al utilizar todos las mismas imágenes, tenemos la certeza de que lo que funciona en la máquina A lo hará en la máquina B, ya sean estas de desarrollo, pruebas o despliegue.
El software instalado es virtualmente el mismo. Y esto, además, multiplataforma: Linux, Mac e incluso, recientemente, Windows.
Breezy Badger: Nuestra nueva versión de PostGIS Dockerizada
Como comentábamos anteriormente, esta versión hereda todas las capacidades de la anterior, Awkward Aardvark (basada en PostgreSQL 9.5.3), instalando la nueva PostgreSQL 9.6 junto a PostGIS 2.3.0, GDAL 2.1.1, Proj 4.9.3 y GEOS 3.5.0. Al igual que Aardvark, Badger soporta una impresionante lista de funcionalidades extra:
- script para usar la imagen cómodamente como cliente psql;
- ejecución de scripts psql en el proceso de creación del contenedor;
- mapeo de usuarios en el host;
- copias de seguridad de las bases de datos contenidas en el contenedor;
- restauración de copias de seguridad en el proceso de creación del contenedor;
- todas las librerías están parcheadas para utilizar en las transformaciones entre ED50 y ETRS89 la rejilla de transformación del Instituto Geográfico Nacional para la Península Ibérica, por lo que las transformaciones son ultraprecisas;
- amplia configurabilidad del servidor de bases de datos en tiempo de creación del contenedor.
Todas estas características la hacen muy potente tanto en entornos de desarrollo como en entornos de producción
Breezy Badger está ya disponible en DockerHub y en Github, ¿a qué esperas para probarla? Esperamos que te sea útil y te invitamos a compartir tus opiniones con nosotros.
¡Volvemos la semana que viene!