Blog de Amazon Web Services (AWS)

Wikiloc Outdoor, arquitectura híbrida con uso de AI/ML en AWS

Sobre Wikiloc

Wikiloc es una App de rutas outdoor, donde se pueden almacenar y compartir rutas al aire libre georreferenciadas y puntos de interés de todo el mundo. Las rutas pueden ser de distintas actividades como el senderismo, el ciclismo, la escalada, el piragüismo y hasta 80 modalidades más. Wikiloc ya cuenta con más de 13 millones de miembros explorando y compartiendo casi 48 millones de rutas y 86 millones fotos al aire libre.

Wikiloc en AWS

Su desafío

En este blog post Jose Molina Lead Engineer de Wikiloc Outdoor nos cuenta como fueron capaces de encontrar un proveedor de Cloud para la implantación de una arquitectura híbrida que les permitiese, por un lado, mantener el funcionamiento de sus servidores físicos y, por otro, disfrutar de las ventajas de escalabilidad y resiliencia de la nube. AWS le ha permitido a Wikiloc integrar perfectamente su entorno tradicional y acceder, a su vez, al uso de servicios cloud Serverless y de AI/ML, difíciles de ser desplegados on-premise.

<<Debido al continuo crecimiento de Wikiloc, tanto en miembros como en rutas e imágenes almacenadas y compartidas, era esencial montar una arquitectura que escalase junto con la demanda, teniendo los costes controlados y que les permitiera proporcionar la mejor experiencia a sus usuarios>> comenta José Molina.

Tecnologías que utilizan

Para integrar su infraestructura on-premise con su ecosistema en la nube de AWS, Wikiloc utiliza Amazon SQS, como sistema de colas de mensajería. Esto les permite tener una arquitectura desacoplada y escalar de forma independiente.

También usan Amazon SES y Amazon SNS,para enviar notificaciones, recomendaciones, alertas y eventos a los ya más de 13 millones de miembros de la comunidad. Envían más de 400.000 notificaciones push al día.

¡Crearon su primer Amazon S3 bucket en 2012! Los utilizan para alojar todos los datos e imágenes de las rutas que sus usuarios suben a la aplicación. Aprovechando las soluciones de AWS, se usaron soluciones de AI/ML, como Amazon Rekognition para analizar el contenido de las imágenes.

Su Arquitectura

En su arquitectura se puede observar cómo Wikiloc utiliza los servicios de AI/ML de AWS cada vez que una nueva imagen es publicada por sus usuarios a Amazon S3, lo cual genera un evento, invocando una función AWS Lambda. Dicha función Lambda invoca a la API del servicio Amazon Rekognition Custom Labels, de este etiquetado se moderan, de modo automático, las fotografías que publican los usuarios, asegurando el correcto uso de la plataforma.

Adicionalmente, la función Lambda también invoca modelos de inteligencia artificial personalizados por Wikiloc, que se ejecutan dentro de Containers en su propia función Lambda (Serverless), para realizar un análisis de las imágenes (Aesthetic Visual Analysis), con unos criterios establecidos por Wikiloc, y detectar las que tienen una mayor calidad. Gracias a este modelo personalizado, son capaces de priorizar para sus usuarios estas imágenes con mejor calidad.

De esta forma, Wikiloc es capaz de analizar los 84 millones de imágenes, de forma completamente automática y escalable, proporcionando la mejor experiencia posible para sus usuarios, a un coste sostenible al no tener que mantener una infraestructura para ello.

Respecto del almacenamiento, Amazon S3 les permite escalar virtualmente de forma ilimitada y a su vez, gracias a Amazon S3 Intelligent Tiering, abaratar costes moviendo los archivos menos utilizados a entre diferentes niveles de archivo. Además, utilizan Amazon S3 Cross Region Replication para realizar una réplica de sus imágenes y archivos entre distintas Regiones de AWS.

¡Autodidactas!

De momento implantan y gestionan toda la infraestructura por sí solos, ¡son autodidactas! Para ello, han utilizado el gran abanico de recursos de formación online de AWS gratuitos, contando con el apoyo de los Solution Architects de AWS para dudas puntuales y recomendaciones. En pocos años, han pasado de ser un equipo de 5 a un equipo de 25 personas, gestionando internamente todos los aspectos técnicos y de producto.

¿Cuáles son los planes para el futuro?

Sus planes para el futuro son seguir creciendo internacionalmente de manera estable, junto con la comunidad de miembros, y seguir escalando y optimizando su infraestructura aprovechando la innovación acelerada de AWS.

Tienen pensado seguir experimentando con Generative AI, por ejemplo, para analizar las reseñas de sus usuarios, moderar el contenido y generar resúmenes de las mismas.

El plan es seguir colaborando con AWS para dar un mejor servicio a los más de 13 millones de miembros de esta gran comunidad internacional presente en todos los países del mundo.


Sobre los autores

Jose Molina es Lead Engineer en Wikiloc. Ha trabajado en Wikiloc desde su comienzo hasta los más de 9 millones de miembros actuales. Lo más importante: construir una arquitectura resiliente equilibrada con los recursos disponibles.
Ezequiel Ballesteros es Solutions Architect en AWS Iberia, con gran experiencia en Migraciones.
Marta de Esteban Belzuz es Account Manager en AWS Iberia. Se dedica a ayudar a los clientes a acelerar sus negocios y su proceso de transformación digital en la nube de AWS.