Descubre cómo OpenStreetMap utiliza nuestra CDN moderna para enviar actualizaciones a nivel mundial y casi al instante
Si Wikipedia es la enciclopedia para todos, OpenStreetMap (OSM) es el equivalente en mapas. OSM es un mapa mundial de código abierto creado por 6,4 millones de voluntarios que recorren pueblos y ciudades de todo el mundo. Esta comunidad voluntaria creó el software en el que se basa el proyecto, desde la interfaz hasta la API de acceso a los datos subyacentes, y utiliza una herramienta de edición colaborativa de estilo wiki, así como unidades de GPS, para actualizar los datos. Las imágenes de los mapas y los datos subyacentes se publican bajo una licencia de contenido y acceso abierto y de uso libre.
OSM forma parte de nuestro programa de código abierto y, por tanto, distribuimos su contenido mediante nuestra red de distribución de contenidos (CDN). A continuación te contamos su historia.
La dificultad
Los datos de OSM tienen todo tipo de usos en todo el mundo: desde enrutadores, mensajeros, servicios de emergencias (para encontrar el hospital más próximo, por ejemplo) y, por supuesto, cartografía. El uso de OpenStreetMap se nutre en gran parte de su servicio Map Tile, con el cual una organización puede captar datos de OpenStreetMap y mostrarlos en su propia aplicación o sitio web. Los datos de OSM se usan en decenas de miles de sitios web; si has buscado dónde se encuentra un negocio en Facebook o has calculado el precio de un trayecto con Uber, has utilizado OpenStreetMap.
El servicio Map Tile envía cambios de los datos subyacentes cada cierto tiempo; a veces, cada minuto. Además, OSM publica todas las semanas una nueva exportación completa de sus datos, llamada «planet file». Teniendo en cuenta que una CDN sería crucial a la hora de distribuir el contenido de forma efectiva, OSM se dispuso a crear una propia con donaciones.
Sin embargo, esa solución presentó dificultades desde el principio: costaba obtener servidores en ciertas zonas del mundo, los mosaicos de los mapas tardaban mucho en cargarse y los editores apenas podían detectar y subsanar problemas de los servidores. Finalmente, en 2019, la Maratón de Londres sacó una nueva aplicación que permitía seguir a un corredor por el recorrido. El enorme pico repentino de tráfico que ello provocó hizo que la CDN propia de OSM quedara fuera de servicio, por lo que se vieron obligados a canalizar el tráfico hacia otros servidores y empezaron a buscar una solución alternativa.
¿Qué tiene una CDN moderna?
Las CDN modernas permiten distribuir contenido dinámico de verdad, que cambia con cada petición recibida desde el edge en lugar de desde el origen. Al permitir que se ejecute el código más cerca del usuario final (y con POP de gran capacidad ubicados estratégicamente que también sirven para almacenar más contenido en caché), dejan de llegar muchas peticiones al origen.
La capacidad de la CDN moderna de purgar contenido al instante (en milisegundos, según los resultados de algunas CDN) y purgarlo de manera selectiva (en vez de «purgar todo») ayuda a las empresas a almacenar en caché mucho contenido que, con una CDN tradicional, no podría estar en caché.
Además, una CDN moderna da a los desarrolladores visibilidad en tiempo real de las estadísticas y los registros, de modo que puedan programar y supervisar el rendimiento de la API. Estos mecanismos son clave a la hora de distribuir contenido, y mejoran múltiples aspectos de las aplicaciones, como el rendimiento, la descarga a origen y, en general, la información disponible.
¿Qué tiene Fastly?
Lo primero que atrajo a OpenStreetMap fue el gran nivel de control que ofrecemos. Por el formato que presenta Map Tile, muchas peticiones no siguen un patrón concreto, lo cual dificulta que se almacenen en caché. OpenStreetMap logró escribir lógica personalizada en nuestro lenguaje Varnish Configuration (VCL) para limitar las peticiones no válidas enviadas al backend, y empezó a mostrar errores 404 o bien reenviar las peticiones al backend correcto. Otro efecto positivo inmediato fue la reducción de la carga de los servidores de OSM, que quedaron libres para usos más avanzados. Uno de ellos, que estaba dedicado a la red de mosaicos, pasó a realizar funciones de geocodificación para impulsar las búsquedas de datos de OSM. Por si fuera poco, OSM pudo desmantelar algunos servidores antiguos y reducir, así, su carga administrativa.
Antes de migrar toda la logística a nuestra red, Ian Dees, el tesorero y entusiasta de infraestructuras de OpenStreetMap, decidió hacer una prueba. Instaló un servicio de prototipo enfrente del servicio de demostración de mosaicos y, una vez configurado todo, empezó a desplegar Fastly a una audiencia más amplia en los EE. UU. La respuesta no pudo ser más positiva: los cartógrafos notaron una mejora drástica en el rendimiento.
«Con nuestra anterior CDN, los usuarios se quejaban de que había partes de imágenes de mapas que se empezaban a cargar y luego se quedaban clavadas», contaba Ian hace poco. «Así, la página podía tardar cinco o incluso diez segundos en cargarse, lo cual es demasiado. Con Fastly, ya no nos pasa. En cuanto llegas al sitio, se carga todo. La sensación es de mucha más velocidad».
Ian dijo que, al trabajar con nosotros, también han mejorado en observabilidad, de modo que el equipo ha pasado de estar a la defensiva a tomar la iniciativa. Con la CDN anterior apenas tenían visibilidad de las estadísticas, por lo que solo podían publicar cifras básicas como la ubicación de los usuarios en un momento dado. Ahora utilizan una solución de registros hecha a medida que permite mejorar la estrategia de creación de mapas en caso de emergencia.
Por ahora solo han usado las estadísticas como recurso interno, pero están creando un analizador que les permitirá publicarlas muy pronto. Ian afirmó además que, al trabajar con nosotros, se sienten mejor preparados que nunca para manejar usos inesperados. Cuando manejaban su propia CDN, siempre sentían que tenían que prever posibles sorpresas, mientras que, ahora, pueden despreocuparse para trabajar en la planificación y la previsibilidad, en vez de estar siempre a la defensiva.
Futuro inmediato
Ahora que han dejado atrás las dificultades de distribución, los equipos de OpenStreetMap pueden dedicar más tiempo a su principal misión: cartografiar el mundo. Nuestra CDN les permite reforzar la personalización de la plataforma y, por ejemplo, centrarse en ofrecer versiones localizadas de los mapas. Antes, solo se podía mostrar la información en inglés o en el idioma del país en cuestión, pero el personal está trabajando para que los usuarios puedan recorrer todos los mapas del mundo en su lengua materna.
Descubre lo que puedes hacer con una CDN moderna en nuestra Guía para la CDN moderna: seguridad y rendimiento para el desarrollador actual.