ApplicationInsight di Panagenda: prime impressioni

Ad inizio Aprile Panagenda ha annunciato il rilascio di ApplicationInsights , un tool di analisi dell’ambiente Domino. Le feature più importanti sono rivolte all’analisi delle applicazioni sia dal punto di vista dell’utilizzo che per quanto riguarda la loro complessità. In pratica permette di vedere quanto è complesso il mio ambiente e scendere poi nei particolari delle singoli applicazioni, misurandone complessità, quantità di codice, dipendenze esterne e così via. A parte l’ovvia utilità del vedere e misurare lo stato del proprio ambiente i risultati ci permettono di analizzare i punti di intervento nel caso si voglia migrare una applicazione, spostarla da un server ad un altro o anche semplicemente ottimizzarla oppure modernizzarla.

Due note prima di proseguire: se volete riprodurre quanto descritto nel vostro ambiente prendetevi tempo. ApplicationInsights ha bisogno di funzionare in background per almeno due giorni pieni per costruirsi una serie di elementi statistici significativi. Non pensate quindi di installarlo e vedere dei risultati dopo una o due ore.
Secondariamente tenete presente che le prove che ho fatte sono state eseguite sui nostri server di sviluppo e di posta : questo significa parecchio codice da analizzare ma pochi accessi . D’altronde la parte che mi interessava era proprio l’analisi del codice.

Dopo l’installazione e la configurazione (abbastanza semplice e veloce: ha solo bisogno un ID Notes che deve essere ovviamente in grado di accedere ai server ed a tutte le applicazioni) AI inizia ad analizzare il vostro ambiente : l’ho dimenticato per 48 ore e poi sono tornato a vedere i risultati.
Appena eseguito login mi presenta la dashboard. A parte i numeri riportati in alto (ma ho davvero cosi’ tanti file sul server?) già vedo i risultati che mi aspettavo: attività prossima a zero, complessità variabile.

 

Scendendo nel dettaglio posso vedere come sono suddivisi i miei database:

A questo punto comincio voglio verificare i dettagli di una delle mie applicazioni Notes / Domino, cerco un’applicazione listata fra quelle complesse e vado a vedere cosa mi dice il report:

Comincio ad avere quindi delle idee più precise su quanto è complessa l’applicazione e da quanti elementi è formata . Come potete vedere non parla assolutamente dei dati contenuti nell’applicazione stessa ma solo del design in quanto l’analisi viene eseguita proprio su questa parte. Scendendo ancora di livello posso vedere, ad esempio, quanti agent ci sono nell’applicazione e come sono suddivisi
List agent
Quindi in questo caso ho 72 agenti per un totale di 7758 linee di codice e di questi agenti 26 sono schedulati. E’ un buon punto da considerare se voglio, ad esempio, spostare l’applicativo su di un altro server Domino : in questo caso posso prevedere di dover verificare 26 agent per cambiarne la schedulazione.
Continuo a scendere nei dettagli per vedere cosa posso scoprire ed effettivamente trovo una quantità di informazioni : analizzando l’applicativo AI è sceso in profondità verificando tutti gli elementi di design ed è ora in grado di dirmi categoria per categoria cosa ha trovato.
Analisi codice Domino

In effetti i due giorni di analisi da parte di AI sono stati spesi bene , solo in questa parte posso vedere se e cosa esiste che manda email , come lo fa , se ho delle connessioni con il NAB di Domino oppure se faccio operazioni a livello di sistema operativo.
Quest’ultima è una opzione senz’altro utile se sto pianificando di muovere il server Domino da Windows a Linux .

Ancora più sotto posso vedere se lavora coi connector o se usa Lotusscript extension : in questo caso l’applicativo ha delle connessioni a Db2 ed ApplicationInsights me le riporta correttamente .

Ancora più sotto ho poi trovato se l’applicativo eseguite delle  External C Calls , chiamate OLE , scrive e/o legge file esterni del sistema operativo , esegue chiamate a programmi esterni e così via.

 

Concludo qui questa parte con alcune considerazioni basate per lo più sull’esperienza: il binomio Notes / Domino è ormai presente da anni nelle aziende e le applicazioni realizzate nel corso del tempo si sono stratificate . Spesso mi capita di rimetter mano ad applicazioni scritte e portate in produzione anni addietro e trovare chi si ricordi esattamente cosa e come fanno queste applicazioni diventa difficile. Magari lo sviluppatore che le ha realizzate non è più in azienda o semplicemente, essendo passato tanto tempo, non si ricorda più cosa ha fatto e la documentazione è sparita.
In tutti questi casi credo che avere sotto mano un prodotto come questo possa fare la differenza ed aiuti realmente.

A prescindere dalla situazione in cui ci si trova Application Insights è comunque molto utile per fare un assessment del proprio ambiente e verificarne l’utilizzo e la complessità.

Se poi ci troviamo nel caso in cui si vuole modificare l’ambiente Domino oppure rimettere mano alle applicazioni per modernizzarle od aggiungere nuove funzioni ecco che un tool di analisi come questo diventa indispensabile per avere una corretta immagine della propria situazione e dei punti di intervento.

Ed ho l’impressione che dedicando più tempo allo studio del prodotto (cosa che voglio fare) si troveranno altre funzionalità che non ho ancora scalfito.