caso éxito dielmo 3d ackstorm

Dielmo 3D y ACKstorm: Rearquitectura en AWS con microservicios y estrategia GitOps

Resumen ejecutivo

Dielmo 3D es una empresa experta en ofrecer soluciones en cartografía digital que cuenta con más de 20 años de experiencia y clientes en los cinco continentes. 

Entre su cartera de servicios, destaca su propia plataforma para la publicación de datos espaciales a través de internet. Por ejemplo, en 2010 ya disponían de tecnología para la publicación de datos LiDAR mediante una herramienta de perfiles y 3D en un navegador, pionera en su época y que todavía sigue siendo muy potente.

Dielmo 3D recurrió a ACKstorm porque precisaba permitir un escalado horizontal de su aplicación para la publicación de datos geoespaciales en la nube, de manera que pudiera ofrecer un servicio SaaS a sus clientes.

El reto

Dielmo 3D tenía su aplicación corriendo sobre una sola instancia EC2 en Amazon Web Services (AWS), lo cual suponía un problema en cuanto a escalabilidad y disponibilidad del servicio. Este tipo de arquitectura en monolito solo permite escalar en vertical de manera que supone una parada del servicio y al estar todos los servicios desplegados en una sola instancia el uso intensivo de uno de ellos puede suponer la indisponibilidad de otros. 

Además, el hecho de disponer de una aplicación monolítica supone un desventaja en cuanto a los costes. Otro factor importante al que tenía que hacer frente Dielmo 3D era la seguridad, dado que sus clientes proceden fundamentalmente del sector público.

Por tanto, el reto consistía en poder adaptar la infraestructura en la nube de Dielmo 3D a las peticiones de los clientes de manera que se optimizaran al máximo los costes y que se pudiera adaptar el servicio a la demanda absorbiendo picos de visitas. Para ello, Dielmo 3D necesitaba definir una arquitectura cloud que permitiera el escalado horizontal de su aplicación para que pudiera prestar servicios en formato SaaS.

Si no afrontaba su paso a SaaS, Dielmo 3D no podría cumplir con demandas como la escalabilidad y la disponibilidad de su servicio y el potencial crecimiento en cuanto usuarios se vería limitado.

La solución tecnológica

ACKstorm ofreció su experiencia para implementar una nueva plataforma que respondiera a los desafíos que planteaba Dielmo 3D utilizando una combinación de EKS y servicios gestionados por AWS a lo largo de todo el ciclo de vida del proyecto. Esto incluyó desde la fase inicial de diseño y migración hasta la operación continua y el soporte técnico post-implementación.

Para abordar el desafío de escalabilidad y disponibilidad del proyecto, se ha desacoplado el monolito existente en varios microservicios sobre un clúster de Amazon EKS gestionado por GitOps. Este diseño facilita la comunicación entre los servicios y una gestión eficiente de la infraestructura, así como la automatización completa del ciclo de vida de las aplicaciones. con herramientas como FluxCD. 

Además, se utilizó Amazon RDS para alojar la base de datos Postgres con PostGIS, asegurando un almacenamiento seguro y de alto rendimiento para los datos geoespaciales de Dielmo 3D.

En cuanto a los microservicios encargados de la autenticación y la manipulación de imágenes se ha optado por utilizar servicios gestionados por AWS. En el caso de la manipulación de imágenes se utiliza S3 para su almacenamiento y Lambdas para realizar el procesado con cada nueva imagen subida a un bucket de S3.  En cuanto al registro y autenticación de usuarios se empleó Amazon Cognito, garantizando un acceso seguro a la plataforma.

Toda la plataforma se ha implementado mediante infraestructura como código (IaC) con Terraform para poder replicar entornos con facilidad. Esto permite a Dielmo 3D disponer de un entorno pre productivo donde los desarrolladores pueden probar nuevas funcionalidades en las mismas condiciones que en producción. Además, también le ofrece la posibilidad de crear entornos en distintas regiones (Europa, EEUU) para cumplir con las regulaciones de protección de datos y garantizar la disponibilidad global del servicio.

En cuanto al logging se centraliza todo mediante el stack ELK (Elasticsearch, Logstash, Kibana) en una cuenta de apoyo donde también se alojan las imágenes de los microservicios en el servicio de AWS Elastic Container Registry (ECR), desde donde se replican a otras regiones para garantizar tanto su alta disponibilidad como la velocidad de despliegue desde los distintos entornos.

En resumen, los puntos críticos solventados en el proyecto fueron:

  • Eficiencia del servicio y rentabilidad
  • Escalabilidad y disponibilidad
  • Seguridad y alto rendimiento

El resultado obtenido

La combinación de servicios gestionados de AWS y la filosofía GitOps ha permitido expandir su negocio a nuevos clientes y regiones (EEUU) con un ahorro significativo de tiempo, así como una descarga completa del equipo de las tareas operativas de despliegue y operación.

“La nueva solución nos ha permitido disponer de una plataforma moderna y escalable para nuestros servicios de cartografía digital, garantizando una operación continua y segura a lo largo del tiempo.”
jose carlos garcia dielmo 3d
José Carlos García
Director gerente de Dielmo 3D
AWS Advanced Tier Services Partner

Pilares de la solución

Soluciones

jose carlos garcia dielmo 3d
José Carlos García, investigador en el grupo de teledetección de la Universidad de Valencia y director gerente de Dielmo 3D desde 2003

“La nueva solución nos ha permitido disponer de una plataforma moderna y escalable para nuestros servicios de cartografía digital, garantizando una operación continua y segura a lo largo del tiempo.”

¿Quieres saber más sobre este caso de uso u otros?