- Utilizzare Google Cloud Storage e Cloud Run per un CDN - 2
- Questo è il secondo articolo su come costruire una CDN utilizzando Google Cloud Storage e Cloud Run. Spiega come ottimizzare la trasmissione di immagini e file di testo e come distribuire le risorse in 8 regioni globali per ridurre la latenza.
Testo tradotto dall'IA.
Ottimizzazione e sincronizzazione delle immagini utilizzando Google Cloud Storage e Cloud Run - 3
Riepilogo del post generato dall'IA di durumis
- Questo articolo spiega come ottimizzare le immagini caricate su Google Cloud Storage e convertirle in diversi formati utilizzando Cloud Run.
- Viene illustrato come utilizzare gli eventi di caricamento e eliminazione dei file di Cloud Storage per convertire le immagini in AVIF e WebP, comprimere i file di testo e replicare ed eliminare in modo sincrono i file in altre regioni.
- Questo approccio consente di gestire in modo efficiente l'ottimizzazione delle immagini e la sincronizzazione dei file in un ambiente CDN e anticipa i contenuti successivi che utilizzano Google Cloud Load Balancer.
Nell'articolo precedente, abbiamo discusso di come trasferire i file immagine sincronizzati su GCS utilizzando Cloud Run.
Quindi, nell'ultimo articolo di questa serie su CDN, parleremo della sincronizzazione e dell'ottimizzazione delle immagini su GCS.
Cloud Run funziona fondamentalmente tramite HTTP Hook, ma non è l'unico trigger di eventi.
Cloud Run
Quando si configura Cloud Run, si può notare una sezione chiamata "Trigger" e, se si visualizza l'elenco, si trovano Pub/Sub, Cloud Storage, Filestore e altri. Oltre all'HTTP fornito di base, gli altri sono i prodotti più utilizzati e, per il resto, la maggior parte degli eventi a cui si può pensare sono inclusi nella categoria "Altri". Innanzitutto, selezioniamo l'evento Cloud Storage che utilizzeremo e, se ci guardiamo intorno, vedremo tipi di eventi come la modifica di un file, la sua eliminazione, la sua creazione e la modifica dei suoi metadati.
Cloud Run Eventarc
Qui, utilizzando i due eventi "deleted" e "finalized", creiamo Cloud Run per gestire l'evento in cui un file viene caricato su GCS o eliminato dopo il caricamento.
In Cloud Run, le attività da gestire sono principalmente le seguenti.
- Quando viene caricato un file, si verifica il tipo di file e si esegue il processo seguente.
- Se è un file di testo (css, js), viene creato un file compresso con br e gzip.
- Se è un file immagine, si utilizza sharp npm per generare formati convertiti in avif e webp.
- Il file appena creato viene replicato in diverse altre "regioni" specificate.
- Quando viene richiesta l'eliminazione di un file, anche il file corrispondente nelle altre regioni viene eliminato.
Fondamentalmente, se si gestiscono correttamente queste tre attività principali (conversione, replica, eliminazione), la sincronizzazione dei file non è particolarmente complessa, anche se si hanno più regioni. Anche nel codice, è possibile gestirlo facilmente utilizzando solo due npm: la parte di connessione a GCS e l'utilizzo di sharp.
Questo conclude la serie di articoli di base relativi a CDN.
Nel prossimo articolo, inizieremo a discutere di GCLB (Google Cloud Loadbalancer).
Naturalmente, quando si parla di CDN, è necessario affrontare l'argomento del bilanciamento del carico (LB), ma alcuni aspetti sono stati omessi. Li tratteremo in dettaglio nella prossima serie di articoli.
Grazie.