Il crescente affidamento sui canali online per le interazioni con i clienti fa sì che l’esigenza di disporre di siti più veloci e funzionali stia diventando sempre più pressante. Anche la consumerizzazione dell’IT va in questa direzione con utenti finali che richiedono accessi a un maggior numero di servizi da molteplici dispositivi ovunque si trovino. Assicurare loro un’esperienza online positiva è quindi fondamentale.
Nonostante tecnologie Web 2.0 come JavaScript e AJAX soddisfino questa esigenza, possono anche rendere le soluzioni di monitoraggio basate sul data center inadeguate se utilizzate da sole. A mano a mano che i siti incrementano la loro dipendenza da contenuti dinamici e servizi di terze parti, la reale qualità dell’esperienza utente è misurabile solo dall’interno del browser.
Prima dell’avvento del Web 2.0, l’attività poteva essere tracciata semplicemente monitorando le richieste di pagine HTTP e le risposte associate utilizzando web agent installati sui web server. Oggi i browser hanno la capacità di eseguire codice integrato in una pagina web, eliminando così la necessità di rivolgersi ai server di backend per attività sul codice. JavaScript è il linguaggio più diffuso per questo scopo. Anche la programmazione AJAX (Asynchronous JavaScript and XML) fornisce al browser la capacità di effettuare richieste asincrone, eliminando l’esigenza di ricaricare un’intera pagina quando ne vengono aggiornate alcune parti. Alcuni dei punti ciechi di AJAX e JavaScript sono:
– analisi inadeguate a livello di codice – le soluzioni APM (Application Performance Monitoring) erano tradizionalmente focalizzate sul monitoraggio dell’esecuzione del codice tramite l’installazione di agenti sui server nei data center. Questo approccio non è più completo, nelle applicazioni moderne la maggior parte dell’esecuzione avviene all’interno del browser.
– tempi di risposta delle pagine errati – non è più possibile ottenere tempi di risposta adeguati semplicemente monitorando il traffico di rete. Molte richieste non tornano all’origine e le chiamate ai web service di terze parti non possono essere verificate tramite i network sniffer. Al fine di avere uno scenario completo di pubblicità, mappe, carrelli acquisti, analisi, moduli social media ecc, il tempo di caricamento di una pagina deve essere monitorato dall’interno del browser.
– contesto insufficiente – il monitoraggio del traffico di rete può associare chiamate di back-end con la pagina dalla quale provengono. E anche se questo potrebbe essere sufficiente per applicazioni tradizionali, non funziona con AJAX dove ci sono centinaia di chiamate da ogni singola pagina. Inoltre, molti eventi JavaScript non creano nessuna chiamata al web server, rendendo questi eventi browser-only invisibili.
Come per qualunque nuova tecnologia, il Web 2.0 pone sfide e opportunità. Qui di seguito 4 suggerimenti per modernizzare la strategia APM.
1. Catturare problemi funzionali e stabilire il contesto
Le prestazioni non sono l’unica cosa che conta quando si tratta di applicazioni external-facing. I problemi funzionali sono molto più frequenti di quelli legati alle prestazioni e causa di abbandono e bassi tassi di conversione. Dato che la pagina web è spesso l’unico punto di contatto che l’azienda ha con i suoi clienti, spesso non si ha la possibilità di chiedere all’utente quale è stato l’intoppo. Adottare una soluzione che cattura gli eventi del browser, click e digitazioni sulla tastiera, e che ha la capacità di replicare l’attività dell’utente durante la sessione, aiuterà a identificare e risolvere proattivamente questi problemi.
2. Catturare e risolvere i problemi JavaScript
Immaginate un’azienda che rilascia una nuova funzionalità AJAX per gli ordini online che dà errori JavaScript. Non ce ne sarebbe traccia nei log e i tempi di risposta apparirebbero soddisfacenti. Una valida soluzione APM deve essere in grado di identificare e avvisare immediatamente in caso di errori JavaScript di modo che possano essere rapidamente risolti.
3. Cercare informazioni dettagliate nei tempi di risposta delle pagine
Per comprendere tutti gli elementi, il monitoraggio deve essere fatto dall’interno del browser. Per fortuna, la funzionalità navigation timing HTML 5 è disponibile nei browser più recenti e comprende i tempi di caricamento delle pagine suddivisi in DNs lookup, redirect, SSL handshake, elaborazione e cache access timing. Cercate una soluzione APM che integri queste funzionalità.
4. Isolare i problemi a specifici elementi della pagina
Le informazioni catturate dal browser sono limitate a load di pagine intere e non forniscono indicazioni sugli elementi individuali delle pagine. I network sniffer con funzionalità di analisi possono verificare richieste e risposte HTTP per singoli oggetti della pagina, abilitando i troubleshooter a isolare i problemi. Assicuratevi di disporre di questa feature.
Di Alessandro Pasquali, Sr System Consultant Dell Software