Home Articoli tecnici Introduzione a Serverless Deep Request Inspection for the Jamstack
Applications

Introduzione a Serverless Deep Request Inspection for the Jamstack

About The Author

Outline

L’ evoluzione del Jamstack sta diventando chiara e senza server non è più solo per le API. Il ridimensionamento del Jamstack su siti Web di grandi dimensioni con modifiche frequenti si basa su funzioni senza server. Gli sviluppatori che utilizzano la rigenerazione statica incrementale (ISR), il Rendering persistente distribuito (DPR) o qualcosa di intermedio hanno bisogno di modi più semplici per osservare ed eseguire il debug del loro codice senza server, specialmente in produzione.

Layer0 offre già un registro di streaming dell’output della console dal codice senza server in esecuzione nel nostro cloud. Sfortunatamente, l’output delle istruzioni console.log() di un’applicazione è raramente informativo poiché richiede agli sviluppatori di prevedere quali chiamate API potrebbero essere problematiche prima che si verifichi un problema, in modo che possano scrivere codice di registrazione esteso intorno ad esso. Succede raramente. Quindi, all’inizio di questo mese, abbiamo rilasciato Deep Request Inspection (DRI). L’ispezione delle richieste è simile all’ispettore di rete Chrome Devtools, ma per il codice senza server. È possibile visualizzare il metodo, le intestazioni e il corpo di ogni richiesta in entrata al codice senza server, nonché la risposta finale generata. Ancora meglio, è possibile visualizzare le stesse informazioni di rete dettagliate per ogni richiesta API upstream creata dal codice senza server. E abbiamo anche aggiunto una utile funzione “Copia come arricciatura” che rende estremamente facile passare dall’ispezione di una chiamata API alla riproduzione locale. È un sogno! Come mostrato nel tutorial riportato di seguito.

L’ispezione delle richieste è ora disponibile in generale per tutti i piani su Layer0 (ora Edgio) e compatibile con qualsiasi framework full-stack che supporta senza server, tra cui Next.js, Nuxt.js, Angular e SvelteKit/Sapper. Lavorando con i nostri clienti beta, hanno già trovato l’ispezione delle richieste utile per più scenari:

  • Risoluzione dei problemi di produzione: Risolvere i problemi che si verificano “solo in produzione” e non possono essere riprodotti localmente
  • Visualizzazione del codice asincrono: Comprendere l’esatto flusso API del codice complesso con molte routine asincrone
  • Isolamento delle API lente: Esaminate con precisione quando vengono effettuate le chiamate API e quanto tempo impiegano

L’ispezione approfondita delle richieste è uno dei modi in cui stiamo aiutando gli sviluppatori a ottenere il massimo da senza server. Offriamo già agli sviluppatori la possibilità di misurare il tasso di hit della cache del loro codice senza server ed eliminare la cache in base al percorso o alle singole pagine, indipendentemente dal fatto che siano generate dalla generazione statica incrementale o da altri metodi di caching. Infatti, uno dei nostri clienti di e-commerce ha collegato il livello 0 al proprio sistema di gestione degli ordini e sta eliminando dinamicamente oltre 20.000 singoli prodotti all’ora man mano che l’inventario cambia. Ciò consente loro di avere un sito di e-commerce con caricamento istantaneo nonostante un catalogo di grandi dimensioni che cambia frequentemente. Guardando al futuro, siamo ansiosi di sviluppare un’ispezione su richiesta e offrirvi ancora più visibilità del vostro codice senza server, inclusi l’utilizzo della memoria, la concorrenza e le prestazioni API. Vi aiuteremo anche a isolare le API upstream che stanno causando i problemi di prestazioni.

Siamo entusiasti di quanto l’ispezione approfondita delle richieste e queste funzionalità imminenti ti renderanno più produttivo con Serverless sulla piattaforma Layer0 (ora Edgio).