La necessità di bilanciare la potenza di elaborazione con la latenza ha reso l’edge computing un argomento di grande interesse, alimentato in parte dall’emergere del 5G Edge, che promette una latenza ultra bassa. La latenza di 10 ms del 5G Edge <è fondamentale per consentire la realtà virtuale, l’Internet delle cose (IoT) e i veicoli autonomi. Senza edge computing, queste funzionalità sarebbero seriamente limitate.
Mentre il 5G Edge sta compiendo rapidi passi avanti, le reti per la distribuzione dei contenuti (CDN) hanno reso possibili casi di utilizzo del computing periferico per molti anni, offrendo un’enorme capacità di rete e solo millisecondi di latenza a praticamente tutti i dispositivi connessi e gli utenti di Internet del pianeta. Le CDN sono consolidate e si sono dimostrate estremamente efficaci nel fornire grandi flussi di contenuti su larga scala. La Verizon Media, ora Edgio, Platform, ad esempio, offre oltre 250 Tbps di capacità di uscita ed è fortemente collegata a più di 7.000 reti dell’ultimo miglio, fornendo scalabilità globale, prestazioni e sicurezza.
In questo modo, CDN Edge è un modo estremamente conveniente per spostare applicazioni e carichi di lavoro dal cloud e più vicino agli utenti finali. I lunghi round trip verso i server principali possono causare user experience lente e, in ultima analisi, limitare il tipo di applicazioni sviluppate. Il passaggio dell’elaborazione delle applicazioni al CDN Edge apre nuove opportunità per aggiungere funzionalità e creare esperienze utente migliori.
L’ascesa delle applicazioni edge
Ma qual è il modo migliore per sviluppare applicazioni all’edge? Nonostante il continuo ronzio, l’edge computing è ancora nelle prime fasi di sviluppo. In quanto tale, il futuro dell’edge computing “mainstream” sarà probabilmente molto diverso da quello che sembra oggi. Un cambiamento significativo che ci aspettiamo è l’emergere di ciò che stiamo chiamando “applicazioni Edge”. Si tratta di funzioni altamente ottimizzate, completamente testate e integrate nella CDN, che possono essere attivate in modo rapido e semplice. Queste funzionalità si combinano con la funzionalità Functions@Edge che consente agli sviluppatori di scrivere ed eseguire il proprio codice in CDN Edge, offrendo ai clienti un’ampia gamma di possibili funzionalità di elaborazione.
Le applicazioni Edgio sono progettate per risolvere i casi d’uso più comuni, ad esempio:
- Reindirizzamenti dinamici
- Ottimizzazione delle immagini
- ESI (Edge Side include)
- Assegnazione di priorità ai visitatori
Le applicazioni Edgio riducono la barriera all’edge computing offrendo ai clienti l’accesso a strumenti di elaborazione edge senza la necessità di sviluppare e supportare il codice.
Anche se specifiche applicazioni di elaborazione edge possono variare considerevolmente in termini di funzionalità generale o settore di destinazione, molti requisiti sottostanti sono quasi identici da app a app. Queste analogie riguardano i protocolli e i flussi di lavoro standardizzati. Edgio Applications si avvale di questo fatto per semplificare l’implementazione e velocizzare l’adozione delle funzionalità di elaborazione edge.
Come mostrato a sinistra della figura riportata di seguito, i clienti CDN possono interagire con le nostre applicazioni tramite una semplice configurazione. Utilizzano la nostra API del motore regole per abilitare o disabilitare una particolare applicazione. Il lato destro della figura seguente mostra come le applicazioni vengono create e aggiornate tramite la pipeline ci/CD. Dopo lo sviluppo iniziale, nuove funzioni e caratteristiche vengono continuamente aggiunte tramite un robusto ciclo di feedback. In questo modello, possiamo vedere come tutti in tutta la rete utilizzano l’applicazione. Possiamo utilizzare questo input per correggere bug, aggiungere funzioni chiave e risolvere problemi di sicurezza. I clienti rinunciano a un certo controllo, ma ottengono un modello di distribuzione semplificato e non sono gravati dalla creazione e dalla manutenzione di pipeline ci/CD per ciascuna funzione. Ciò è particolarmente utile per funzioni non molto differenziate ma necessarie in vari casi d’uso.
Figura 1. Il modello di sviluppo delle applicazioni Verizon Media Edge originale.
Ciò è in contrasto con il modello Functions@Edge, illustrato di seguito, in cui ogni cliente è responsabile del proprio sviluppo. Man mano che vengono sviluppate nuove funzioni, queste vengono distribuite al CDN Edge utilizzando l’API Functions@Edge. Sebbene ciò fornisca un maggiore controllo, sposta il carico di sviluppo sull’utente. Spetta a ogni sviluppatore/organizzazione tenere traccia dei rapporti sui bug, raccogliere le richieste di funzionalità e distribuire nuove versioni e patch per la specifica funzione edge. Le organizzazioni che necessitano di funzioni personalizzate o una tantum che non sono comuni a più clienti o sono altamente specializzate dovrebbero utilizzare Functions@Edge per sviluppare le funzionalità di cui hanno bisogno. Tuttavia, per i comuni casi di utilizzo del computing edge, le applicazioni Edgio possono portare questi prodotti in-House e offrirli come servizi gestiti.
Figura 2. Modello di sviluppo Functions@Edge.
Esempio di applicazioni Edgio: Ottimizzazione delle immagini
Il processo che utilizziamo per determinare quali applicazioni edge sviluppare inizia con l’input dei nostri clienti. Le richieste multiple di clienti per la stessa funzione sono un buon indicatore della sua popolarità e del suo valore per un’ampia varietà di organizzazioni. Un esempio che viene spesso visualizzato è l’ottimizzazione delle immagini, un’applicazione in grado di ridimensionare e ottimizzare le immagini per conto dei clienti CDN per i loro clienti (utenti Internet).
L’ottimizzazione delle immagini è diventata un’applicazione importante per ridurre i tempi di caricamento delle pagine Web contenenti immagini. Anziché memorizzare le versioni delle immagini nell’applicazione o nello storage di origine, un’applicazione edge di ottimizzazione delle immagini si integra nella gestione delle richieste della CDN per trasformare le immagini nel momento in cui vengono servite, eliminando i costi di storage e migliorando i tempi di caricamento dei client. I clienti utilizzano Verizon Media Platform Rules Engine per fornire criteri di corrispondenza quali estensione URL (ad esempio, jpg), host o percorso URL per accedere a un’applicazione edge di ottimizzazione delle immagini.
All’inizio, un ottimizzatore di immagini può sembrare un semplice sforzo di sviluppo, ma mentre scavate sotto la superficie, scoprirete una notevole complessità. Un server di ottimizzazione dell’immagine edge deve gestire il ridimensionamento di base dell’immagine e varie altre opzioni progettate per facilitare la formattazione dinamica dell’immagine. Le funzioni supportate in un’applicazione di ottimizzazione delle immagini edge dovrebbero includere un’ampia serie di funzioni, ad esempio:
- Ridimensionamento base di larghezza e altezza
- Conversioni di formato
- Riduzione della qualità
- Gestione DPR (Device pixel ratio)
- Dimensionamento automatico tramite un database di dispositivi
- Rifilatura e riempimento
- Adattamento dell’immagine a una regione o all’interno dell’area di lavoro con un colore di sfondo opzionale
- Rotazione e sfocatura delle immagini
- Quantificazione delle dimensioni delle immagini in modo lineare o logaritmico per ridurre le variazioni memorizzate nella cache
- Eliminazione automatica dei metadati
L’applicazione di ottimizzazione dell’immagine dovrebbe gestire i suggerimenti del client per le pagine dinamiche, se abilitata tramite il motore delle regole e ottimizzata per il caching multilivello. L’applicazione dovrebbe inoltre sfruttare la funzionalità della cache CDN, come uno shield di origine, che memorizza nella cache il contenuto per ridurre al minimo le richieste al server di origine. Come mostrato nell’immagine seguente, i risultati della trasformazione possono essere memorizzati nella cache in un POP Shield e quindi inviati e memorizzati nella cache in corrispondenza di Edge POP per ridurre la latenza e il numero di invocazioni dell’applicazione.
Figura 3. Un flusso di richieste ottimizzato riduce al minimo le richieste al server di origine.
Le richieste di ottimizzazione delle immagini sono progettate per sfruttare il caching CDN. Le richieste in entrata vengono instradate al nodo cache appropriato utilizzando un hashing coerente per ottimizzare la localizzazione della cache. Il primo nodo cache CDN che riceve una richiesta applica la logica in due fasi. Nella prima fase, il nodo cache calcola la chiave cache e la ricerca nella cache. Se il file non è presente nella cache, verrà estratta l’immagine di base in caso di ottimizzazione dell’immagine. L’immagine di base restituita nella risposta sarebbe quindi ottimizzata al volo quando viene memorizzata nella cache e restituita al client.
Questa funzionalità è difficile per gli sviluppatori ottimizzare completamente, come descritto qui, durante la creazione delle loro funzioni edge, offrendo un’argomentazione convincente per spiegare perché ci aspettiamo che le applicazioni edge svolgano un ruolo così importante nell’edge computing in futuro.
Conclusione
L’avvento del 5G ha portato l’ascesa dell’edge computing e il riconoscimento che spingere i carichi di elaborazione verso l’edge può ridurre la latenza rispetto al cloud, migliorare l’esperienza dei clienti e aprire nuove categorie di applicazioni. Con la sua latenza inferiore a 10 ms, il 5G Edge è un must per la realtà virtuale o i veicoli autonomi. Per la maggior parte delle altre applicazioni, le CDN sono più consolidate del 5G e sono solo pochi millisecondi più lente per ogni utente e dispositivo del pianeta rispetto al 5G Edge. Mentre le aziende e gli sviluppatori di software spingono più carichi di lavoro di elaborazione alla periferia della rete, la CDN sta assumendo un significato aggiunto al di là del suo tradizionale ruolo di distribuzione dei contenuti. Questo apre nuove applicazioni e servizi che sarebbero poco pratici solo nel cloud a causa della latenza associata al cloud computing.
Un modo per ridurre gli ostacoli all’adozione dell’edge computing è con le applicazioni Edgio. Questo approccio consente alle organizzazioni di accedere a una particolare applicazione, ad esempio l’ottimizzazione delle immagini, tramite una semplice configurazione delle regole anziché un’attività di sviluppo su vasta scala. Le applicazioni Edgio traggono vantaggio da un ricco ciclo di feedback, poiché sempre più organizzazioni in tutto il mondo traggono vantaggio dal servizio, che riteniamo svolgerà un ruolo fondamentale nell’adozione del computing all’avanguardia.
Che si tratti di un miglioramento incrementale dell’esperienza del cliente o dell’introduzione di applicazioni rivoluzionarie, una cosa è chiara: Portare più funzionalità di elaborazione alla periferia della rete cambierà radicalmente il modo in cui le applicazioni vengono sviluppate e distribuite in modo migliore.