- Utilizar Google Cloud Storage y Cloud Run para aprovechar CDN - 2
- Esta es la segunda parte del artículo sobre cómo construir un CDN utilizando Google Cloud Storage y Cloud Run. Se explica cómo optimizar la transmisión de imágenes y archivos de texto, y cómo distribuir los recursos en 8 regiones globales para reducir la
Texto traducido por IA.
Optimización y sincronización de imágenes utilizando Google Cloud Storage y Cloud Run - 3
Resumen de la publicación por la IA de durumis
- Se explica cómo optimizar las imágenes cargadas en Google Cloud Storage utilizando Cloud Run y convertirlas a diferentes formatos.
- Se utilizan los eventos de carga y eliminación de archivos de Cloud Storage para convertir los archivos de imagen a AVIF y WebP, comprimir los archivos de texto y replicar y eliminar la sincronización en otras regiones.
- Esto permite administrar de manera eficiente la optimización de imágenes y la sincronización de archivos en un entorno CDN, y se anuncia el contenido posterior con el uso de Google Cloud Load Balancer.
En el artículo anterior, hablamos sobre cómo usar Cloud Run para enviar archivos de imagen sincronizados con GCS.
Entonces, en la última parte de esta serie sobre CDN, discutiremos la sincronización y optimización de imágenes en GCS.
Cloud Run funciona principalmente a través de un gancho HTTP, pero este no es el único disparador de eventos.
Cloud Run
Al configurar Cloud Run, verás una sección llamada "Trigger", donde encontrarás una lista de opciones como Pub/Sub, Cloud Storage, Filestore y otras. Además de HTTP, que es la opción predeterminada, las demás son las opciones de producto más utilizadas. Y casi cualquier evento imaginable se encuentra en la categoría "Otras". Si seleccionamos el evento de Cloud Storage que usaremos en este caso, veremos tipos de eventos como: cuando se modifica un archivo, cuando se elimina un archivo, cuando se crea un archivo y cuando se modifican los metadatos de un archivo.
Cloud Run Eventarc
Utilizando los dos eventos "deleted" y "finalized", podemos crear una función Cloud Run que responda a la subida y eliminación de archivos en GCS.
Las tareas que debe realizar Cloud Run son principalmente las siguientes:
- Cuando se sube un archivo, se verifica su tipo y se realiza el siguiente procesamiento:
- Si es un archivo de texto (css, js), se comprime con br y gzip para generar un nuevo archivo.
- Si es un archivo de imagen, se utiliza sharp npm para generar versiones en formato avif y webp.
- Los archivos recién generados se replican en otras "regiones" especificadas.
- Cuando se solicita la eliminación de un archivo, también se eliminan los archivos correspondientes en otras regiones.
En esencia, si se gestionan bien estas tres acciones principales (conversión, replicación y eliminación), la sincronización de archivos no es compleja, incluso con múltiples regiones. El código también se simplifica, ya que solo necesitamos usar dos paquetes npm: uno para conectarnos a GCS y otro para usar sharp.
Con esto, concluimos esta serie de artículos básicos sobre CDN.
En la próxima publicación, comenzaremos a tratar el tema de GCLB (Google Cloud Load Balancer).
Si bien la temática de CDN naturalmente involucra el uso de un balanceador de carga (LB), se han omitido algunos aspectos en esta serie. En las próximas publicaciones, los abordaremos en detalle.
Gracias.