Blog de Amazon Web Services (AWS)

Wikiloc: Arquitecturas Híbridas con 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 9 millones de miembros explorando y compartiendo más de 27 millones de rutas y 48 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, a sus servicios Serverless: Amazon SQS, Amazon SNS, Amazon S3 y AWS Lambda.

<<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, pero que también les permitiese tener los costes controlados>> comenta José Molina.

Tecnologías que utilizan

Utilizan Amazon SQS para la integración de su infraestructura on-premise y para la orquestación de los microservicios también on-premise.

También usan Amazon SNS para enviar notificaciones, recomendaciones, alertas y eventos a los ya más de 9 millones de miembros de la comunidad. Envían más de 100.000 notificaciones push al día, con previsión de que esta cifra se incremente, porque cada vez existe una mayor necesidad de estar al corriente de la actividad social de nuestros círculos.

¡Crearon su primer Amazon S3 bucket en 2012! Los utilizan para alojar todos los datos e imágenes de las rutas, para guardar sus logs y para guardar sus copias de seguridad (o backups). Hacen uso de los distintos niveles de almacenamiento y archivado, como Amazon S3 Glacier, para asegurarse la optimización de costes.

La seguridad y alta disponibilidad de los datos de la comunidad siempre ha sido una prioridad para Wikiloc, motivo por el cual tienen backups y réplicas en varias regiones AWS.

Su Arquitectura

En su arquitectura se puede observar cómo Wikiloc utiliza AWS como herramienta de integración y mensajería entre sus servidores y microservicios, de momento, alojados en sus data centers. Cada vez que el servidor de archivos contiene nuevas rutas o cada vez que existe la necesidad de enviar correos transaccionales a sus usuarios, se hace uso de Amazon SES. En palabras de José Molina: << Se eligió este servicio por la facilidad de uso y la competitividad en precio y calidad. No hemos encontrado otro que sea mejor.>>

Para integrar sus microservicios y enviar eventos a distintos sub-servicios, donde el productor es la web principal y el consumidor es el servicio de alertas y recomendaciones, utilizan Amazon SQS y Amazon SNS, que les aporta la escalabilidad y rapidez que necesitan.

Por último, tanto para el almacenamiento de ficheros e imágenes y copias de sus servidores, utilizan Amazon S3 para que con las lifecycle rules puedan abaratar costes, traicionando los objetos almacenados de manera automática a capas mas baratas como Amazon S3 Glacier. Y Amazon S3 Cross Region Replication, para replicar los objetos asíncronamente a otro bucket en la región de Frankfurt.

¡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 Solutions Architects de AWS para dudas puntuales. En pocos años, han pasado de ser un equipo de 5 a un equipo de 15 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 experimentar con Amazon Neptune para poder realizar recomendaciones de rutas y personas afines de forma personalizada a las preferencias de cada miembro de la comunidad. También plantean migrar sus microservicios a contendedores utilizando Amazon Elastic Container Service (ECS) o Amazon Elastic Kubernetes Service (EKS), “tenemos muchas ideas para experimentar todavía”. Se plantean, además, explorar servicios de Machine Learning y dada su alta cantidad de datos almacenados en AWS (400TB), también consideran la creación de un Data Lake en AWS para convertir datos en insights accionables.

En general, seguir experimentando y colaborando con AWS para dar un mejor servicio a los más de 9 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.

Daniel Neri es Arquitecto de Soluciones de AWS en Iberia. Trabaja con clientes en el sector de PyMEs y cubre distintas tecnologías con foco en redes de telecomunicaciones.

Marta de Esteban Belzuz es Account Manager de AWS en Iberia. Se dedica a ayudar a los clientes a acelerar sus negocios y su proceso de transformación digital en la nube de AWS.