Negli ultimi decenni abbiamo assistito alla “democratizzazione” della tecnologia: rendere quanto più accessibile possibile la tecnologie a più persone, nonchè consentire di rendere fruibile tale tecnologia, anche senza essere esperti. Questo processo accade ogni giorno: internet a banda larga ha reso la tecnologia accessibile a tutti. Senza bisogno di essere esperti, le persone possono sfruttare le connessioni in fibra per ricevere in streaming sulla propria TV film, documentari e serie televisive. I televisori diventano “smart”, si collegano ad internet sui social o su Youtube.
L’accessibilità a una vasta platea di utenti, rende la tecnologia ancora più appetibile, le persone possono creare un seguito, condividere informazioni e interagire con le community in tutto il mondo. Tutto ciò grazie a dei concetti semplificati e di facile fruizione, nonostante la tecnologia complessa che permette di implementare questa mega infrastruttura tecnologica.
Con la democratizzazione dell’Information Tecnology, è stato fatto un ulteriore passo in avanti. La trasformazione digitale richiede alle organizzazioni di creare e distribuire software a velocità maggiori per rimanere concorrenziali nel mercato. Non è più possibile attendere giorni, o addirittura settimane, per la creazione di un nuovo server. Al giorno d’oggi, tutto ciò di cui hai bisogno è una carta di credito e un account Amazon Web Services e puoi avere un nuovo server secondo le tue specifiche in pochi minuti. La tecnologia diventa più di nicchia e complicata, ma la facilità d’uso rimane una priorità per consentire a tutti di accedere alle risorse IT di cui hanno bisogno per rimanere efficienti.
Che cos’è AMP
Negli ultimi anni, il termine APM è diventato sempre più utilizzato da molti fornitori e strumenti. La crescita di questi strumenti si deve anche a specifiche esigenze di mercato degli ultimi anni: la pandemia di Covid19 difatti ha spinto molte aziende a monitorare il lavoro dei propri dipendenti da remoto attraverso nuove applicazioni corporate. Lo smart working, dunque, sta accelerando il mercato degli APM inducendo gli sviluppatori a proporre nuove soluzioni e funzionalità.
Nel mondo odierno dell’IT e dell’IoT, la velocità è tutto, soprattutto per quelle applicazioni e siti Web a cui accedono gli utenti finali. Se un sito Web o un’applicazione si caricano lentamente o si verificano errori nel caricamento di una pagina, ciò avrà un impatto diretto sulla produttività aziendale, sulla reputazione dell’azienda e, a causa dell’UX di bassa qualità, il cliente potrebbe finire per passare ad altre applicazioni.
AMP significa letteralmente Application Monitoring Performance e potremmo definirlo come tutto ciò che ha a che fare con il monitoraggio continuo delle prestazioni di un sito Web o di un’applicazione. Ad esempio, ci sono strumenti che non fanno altro che controllare il tuo sito web ogni minuto per vedere se è online e quanto tempo ci vuole per caricarsi. Possiamo pensare a questi tools come una delle forme più semplici in assoluto di monitoraggio delle prestazioni delle applicazioni.
Tuttavia, con un semplice ping HTTP possiamo solo sapere se il sito è inattivo o è lento, ma non sapremmo i motivi per cui è lento. Per questo motivo sono necessari altri parametri da monitorare per misurare le prestazioni di un sito o di un’applicazione. Inoltre, le tecniche tradizionali (test ping e misurazione delle metriche lato server CPU, memoria e disco) non sono sufficienti per risolvere i colli di bottiglia nell’ambiente applicativo distribuito di oggi, quindi il monitoraggio delle prestazioni delle applicazioni si è evoluto dal semplice monitoraggio delle transazioni aziendali e delle risorse hardware all’ottimizzazione del codice dell’applicazione e del monitoraggio dell’infrastruttura hardware distribuita. Di seguito sono riportati alcuni altri esempi di monitoraggio delle prestazioni di base delle applicazioni:
- Richieste ricevute e tempo impiegato in media
- Tracciamento e monitoraggio dei tassi di errore delle applicazioni
- Monitoraggio del traffico di rete per identificare i rallentamenti
- Monitoraggio delle metriche chiave dalle dipendenze dell’app come SQL, Redis, Elasticsearch, ecc.
- Utilizzo di Google Analytics per analizzare la velocità della pagina
Il problema con la maggior parte di queste strategie è che non dicono perchè la tua app è inattiva o lenta. Sono semplici meccanismi di alert per dire che c’è un problema. Conoscere il problema è senza dubbio molto importante e questi strumenti possono aiutare. Risolvere il problema è il duro lavoro, ma questa è un’altra storia…
Democratizzazione dell’AMP
APM non è una novità in quanto è stato utilizzato principalmente durante il processo di sviluppo delle applicazioni. In principio, le soluzioni APM erano accessibili solo per pochi esperti, ma la tendenza a democratizzare l’IT ha portato ad estendere questa peculiarità pure in queste piattaforme di nicchia.
Come possiamo definire la democratizzazione dell’APM? Invece di esistere solo nelle mani di pochi esperti tecnici, la piattaforma APM deve essere disponibile e accessibile a tutti coloro che potrebbero trarre vantaggio dalle informazioni monitorate. Inoltre, deve fornire le informazioni in un modo che siano facili da capire e appetibili per i diversi utenti ed essere presentate in tempo reale. Per far sì che ciò accada l’AMP deve muoversi su tre direttrici:
- Automazione: la piattaforma deve rilevare e monitorare automaticamente tutte le dipendenze delle applicazioni, evidenziando gli errori e segnalandoli agli utenti in modo proattivo, anzichè costringere gli utenti a cercare i problemi da soli
- Contesto: la piattaforma deve fornire un contesto circa i dati e gli incidenti in modo che abbiano senso per gli utenti. Ciò significa osservare tutti i dati, non solo i campioni
- Apprendimento automatico: che si tratti di una semplice KnowledgeBase o di un sistema di intelligenza artificiale avanzato, l’apprendimento automatico deve facilitare le operazioni di manutenzione e correzione. Ciò non significa che gli utlizzatori diventeranno degli esperti in materia, piuttosto, l’apprendimento automatico serve a scomporre la complessità e mostrare agli utenti da dove iniziare, cosa guardare e esattamente quali passi intraprendere per porre rimedio al problema.
Entra in gioco anche la semplicità d’uso, infatti:
- Rendere i processi complicati meno complicati. Affinché APM sia democratizzato, deve essere facile da impostare, eseguire, configurare e mantenere. Non è più necessario essere un esperto tecnico per utilizzare una piattaforma APM, e non è nemmeno necessario essere un esperto per iniziare e configurare lo strumento. Ciò significa anche che non sarà più necessario un addestramento approfondito degli strumenti APM che toglie tempo prezioso alle persone.
- Monitorare dati e informazioni specifiche. Ogni utente deve ottenere i dati e le informazioni di cui ha bisogno per svolgere il proprio lavoro in modo specifico. Invece di un sovraccarico di informazioni, lo sviluppatore deve essere in grado di affinare i dati di quell’applicazione. Un tester QA deve essere in grado di guardare solo il monitoraggio del codice su cui sta lavorando.