Autore: Paolo Maestripieri, EMEA Client Partner Director, Cisco ThousandEyes
Per gli utenti finali le applicazioni moderne assomigliano a degli iceberg. Gli utenti possono scorgerne solo la punta, dove ha luogo l'interazione o la transazione, e ne ricavano un'impressione complessiva dell'intera azienda. Teoricamente l'esperienza è facile e senza intoppi.
Ma come per l'iceberg, l'utente vede solo una piccola parte dell'intero processo.
Oggi la maggior parte delle applicazioni, anche se si tratta solo di aggiungere un articolo al carrello, si basano su un'ampia rete di servizi e piattaforme distribuiti su Internet, in genere tramite delle API REST.
Pensiamo ad esempio a un servizio di messaggistica che usa Twilio per la comunicazione nel cloud, un sito di e-commerce che usa Stripe per i pagamenti o un servizio di consegne che usa Google Maps per la geolocalizzazione. Per avere esperienze digitali eccellenti, dobbiamo capire come stanno performando le API. E se vogliamo garantire prestazioni ottimali, dobbiamo capire come raggiungere le API sulle reti dei provider di servizi Internet e di servizi cloud.
Senza visibilità è difficile risolvere i problemi
Quando si verifica un problema, è importante risolverlo rapidamente. Ma considerato quanto le moderne applicazioni sono complesse e distribuite, ciò può richiedere tempo e l'impiego di molte risorse. Se la tua reputazione si basa sulle prestazioni delle applicazioni, non puoi certo aspettare.
Gli strumenti tradizionali per il monitoraggio della rete e delle applicazioni, anche se utili, non forniscono il livello di visibilità necessario per capire velocemente il problema, riassegnarlo o risolverlo nei processi esterni. L'acquisizione dei pacchetti e gli analizzatori dei flussi, ad esempio, funzionano solo nell'infrastruttura e aziendale interna.
La maggior parte del percorso dall'utente all'applicazione rimane in ombra, così come la maggior parte delle cause dei problemi. Per riassegnare correttamente il problema e risolverlo all'esterno dell'infrastruttura, devi avere prove concrete e convincenti.
Senza queste prove, sei destinato a sprecare tempo e denaro preziosi contattando gli help desk e applicando procedure che non approdano a nulla, mentre i tuoi utenti continuano a sperimentare problemi e rallentamenti.
In ThousandEyes ci siamo resi conto che non ci sono solo problemi di visibilità. I percorsi usati per erogare i servizi cambiano continuamente e niente rimane fisso e stabile nel cloud. Supponiamo ad esempio di usare un'API di terze parti con base in Irlanda. Nulla ci assicura di trovarla ancora nello stesso data center il giorno dopo. I data center spuntano all'improvviso, vengono spostati o scompaiono in modo definitivo. Le conseguenze di questi cambiamenti possono essere immediate e dirette sulla funzionalità delle applicazioni. Abbiamo quindi bisogno di strumenti migliori e più efficaci per affrontare i problemi.
Sebbene il monitoraggio sintetico sia uno strumento potente per verificare le applicazioni e misurare l'esperienza dell'utente attraverso i workflows, ci sono situazioni in cui basta una singola richiesta nel navigatore per attivare una molteplicità di interazioni API che non sono direttamente osservabili. Supponiamo ad esempio che un utente invii un ordine su un sito Web di e-commerce di un impresa; l'applicazione effettua una serie di chiamate API per controllare l'inventario, elaborare il pagamento e generare un numero d'ordine, e tutto ciò prima ancora di indirizzare l'utente alla pagina di conferma dell'ordine. Poiché questi servizi di backend non sono visibili all'impresa di e-commerce, un errore o un calo di prestazioni in uno di essi influirà direttamente l’esperienza dell’utente a, ma senza essere rilevato.
I proprietari delle applicazioni hanno bisogno di procedure di verifica che non si limitano alle sole interazioni front-end, ma che integrano le verifiche dal contesto dell'applicazione principale in modo da comprendere l'impatto della rete sottostante, in genere la rete del provider di servizi Internet o di servizi cloud. È qui che entra in giorno il monitoraggio adattivo delle API.
Il monitoraggio adattivo delle API offre una via d'uscita
Il monitoraggio adattivo delle API permette di superare questi limiti. Effettuare chiamate sequenziali, condizionali o iterative sulle dipendenze API, offre una struttura di verifiche sintetica e molto versatile che emula le interazioni delle applicazioni backend con gli endpoint API remoti.
I test di monitoraggio API possono essere eseguiti dai dei punti di osservazione esterni all’ambiente dell'applicazione oppure da agenti situati nell'ambiente in cui l'applicazione risiede verso i servizi API. Il vantaggio di quest'ultimo approccio è poter monitorare anche i percorsi di rete e le prestazioni specifiche tra l'applicazione e gli endpoint API.
Tutto ciò si aggiunge alle opzioni di verifica e alla visibilità senza precedenti delle reti esterne che influiscono profondamente sull'esperienza applicativa. Per i proprietari delle applicazioni, ciò vuol dire poter misurare in modo dinamico le prestazioni, differenziare i tempi di risposta per ogni funzione iterativa e convalidare la logica dei processi complessi. Il vantaggio? Risoluzione rapida dei problemi, processi più intelligenti e informazioni preziose per migliorare l'esperienza digitale.