La Control Tower per il Portfolio Applicativo

By on
 

Introduzione

Sempre più aziende oggi sono alla ricerca di soluzioni che permettano loro di tenere sotto controllo il  patrimonio applicativo. È infatti fondamentale avere sempre ben chiaro:

  • l’inventario esatto del portfolio applicativo;
  • quali sono le applicazioni core dell’azienda così da potere dare a queste la giusta attenzione;
  • il livello qualitativo delle applicazioni e le loro evoluzione nel tempo;
  • i costi necessari per mantenerle e il loro debito tecnico;
  • la composizione tecnologica del software e di tutte le sue componenti di terze parti;
  • nel caso in cui si decidesse di affrontare la transizione verso il cloud, sapere quanto un’applicazione sia pronta a migrare verso server di provider di cloud pubblico;
  • quale è il loro impatto ambientale ed eventualmente identificare opportunità per migliorare la sostenibilità e l'impatto ecologico.

Le opzioni a disposizione delle organizzazioni per ottenere ciò sono due:

  1. esternalizzare questo processo affidandosi a partner che abbiano esperienza nel settore;
  2. cercare sul mercato dei prodotti che, in maniera automatica, siano in grado di eseguire tutte queste operazioni e forniscano una reportistica tale da permettere al management aziendale di valutare quando una determinata applicazione deve essere mantenuta, oppure aggiornata, dismessa o sostituita.

Nel caso in cui si decida per la seconda soluzione, ovvero fornirsi di un tool che permetta di fare tutte le attività elencate sopra, c'è CAST Highlight

Cos’è Cast Highlight (HL)

È un software-as-a-service (SaaS) di analisi del portfolio applicativo. Questa soluzione è strutturata per essere una piattaforma veloce, intuitiva e facile da usare. HL analizza le applicazioni custom aziendali dandone poi una valutazione dello stato; la piattaforma, infatti, genera metriche sul rischio software, complessità, dimensioni e altri indicatori chiave di ciascuna applicazione e offre una maggiore visibilità sullo stato generale del sistema.

Come funziona

Por effettuare il caricamento delle applicazioni su HL ci sono tre semplici passaggi:

  1. Sarà chiesto ai responsabili di ognuna delle applicazioni di scaricare un agent e con questo scansionare il codice dell’applicazione; quindi di rispondere ad alcune domande (surveys). Per il monitoraggio continuo, è possibile integrare l'agent all'interno dell'ambiente CI/CD tramite una riga di comando.
    Diversi project leader possono completare il processo contemporaneamente in pochi minuti.
  2. Caricare un file crittografato contenente i risultati dell'analisi del codice su un portale privato. CAST Highlight è conforme alle normative, agli standard e alle best practice più elevate in materia di sicurezza (ISO 27001), e comunque nessun codice sorgente viene trasferito da questo processo.
  3. CAST Highlight utilizza le risposte fornite dai responsabili (surveys) per contestualizzare quanto rilevato dall’analisi del codice sorgente per generare istantaneamente dashboard e dati analitici (heat map, grafici, riquadri, ecc.).

Risultati prodotti

Informazioni sullo stato di salute del software

Vengono forniti risultati sui seguenti KPI:

  • Software Resiliency, informazioni dettagliate su quali modelli di codice possono causare problemi in produzione.
  • Software Agility, informazioni su quali modelli di codice rendono le applicazioni più difficili da mantenere.
  • Software Elegance, informazioni dettagliate su quali modelli di codice potrebbero creare rischi di resilienza a lungo termine.
  • Software Maintenance, identifica automaticamente dove e perché aumentare o diminuire l’effort di manutenzione in base alle metriche del codice e a COCOMO II (l'ultimo modello di stima dei costi standard del settore per i progetti di sviluppo software).

Per ciascuno di questi indicatori vengono forniti suggerimenti su come migliorare il modello di codice. Vengono ancora fornite informazioni su:

  • Contesto di Business - utilizzando le risposte delle survey e i dati di analisi del codice fornisce l'impatto sul business di ciascuna applicazione così da poterne definire le priorità.
  • Debito Tecnico - identifica istantaneamente dove concentrare gli sforzi di correzione per avere il massimo impatto sulla riduzione del debito tecnico (vedi Figura 1).

CAST_Highlight_debito_tecnicoFigura 1: Esempio di report per il Debito Tecnico

Composizione Software

In questo ambito si hanno in maniera automatica:

  • La lista delle tecnologie di cui si compone il software;
  • Sono rilevati tutti i framework open source e i componenti di terze parti da una knowledge base proprietaria di oltre 100 milioni di componenti;
  • Viene generato lo SBOM che include un inventario di tutti i componenti OSS utilizzati all'interno della base di codice, delle licenze, delle versioni e delle vulnerabilità di sicurezza;
  • Tutti le CVE (Common Vulnerabilities & Exposures) che pongono rischi per la sicurezza a livello di portfolio e applicazione,
  • Copertura aumentata degli insight sui rischi di sicurezza identificando le CWE (Common Weakness Enumerations) che rappresentano possibili vulnerabilità future che non sono state ancora segnalate ufficialmente come CVE;
  • Tutte le licenze in uso tra i componenti a livello di portfolio e applicazione per identificare possibili problemi legali,  quali applicazioni utilizzano versioni di componenti obsolete o non sicure che richiedono aggiornamenti e consigli sulle versioni più sicure da utilizzare laddove i CVE siano stati rimossi/ridotti (vedi Figura 2).

CAST_Highlight_CVE_e_CWEFigura 2: Consigli su versioni più sicure di Sw terze parti

Cloud Readiness

Vengono prodotte in maniera automatica reportistiche su:

  • Mappa di migrazione degli applicativi - le applicazioni vengono segmentate, e viene assegnata loro una priorità per categoria (Rehost, Refactor, Rearchitect, Rebuild o Retire);
  • Stima dell’effort per la migrazione - stime personalizzabili valutano lo sforzo richiesto per apportare modifiche quando si decide di trasferire un’applicazione su un cloud PaaS;
  • Cloud Blocker (vedi es. in Figura 3) - Highlight identifica se vengono utilizzati modelli che bloccano la migrazione al cloud (ad esempio, componenti COM o utilizzo di file persistenti); fornisce inoltre una guida su dove e come rimediare a tali blocchi.
  • Cloud Booster - HL identifica se vengono utilizzati modelli che semplificano la migrazione al cloud (ad es. file di configurazione Web o MySQL). Questi sono utili per evidenziare dove ci sono opportunità per effettuare una migrazione più rapida.
  • Raccomandazioni di Servizi in Cloud - identifica specifici servizi della piattaforma nativa del cloud (Microsoft Azure, AWS, Google Cloud e IBM Cloud) che potrebbero essere integrati nell’applicazione una volta migrata al cloud.
  • Containerization - individua modelli di codice sorgente che possono impedire la containerizzazione; fornisce inoltre consigli su come rimuovere questi blocchi.

CAST_Highlight_Cloud_BlockersFigura 3: Blockers e stima dell’effort per la risoluzione

Green Impact

Vengono prodotte in maniera automatica reportistiche su:

  • Green Impact Score - calcola il punteggio Green Impact sia a livello di portafoglio che di applicazione dandone anche l’evoluzione nel tempo.
  • Green deficiencies (vedi es. in Figura 4) - identifica i modelli di codice che contribuiscono all'eccessivo utilizzo delle risorse e al consumo di energia (ad esempio, query SQL all'interno di un ciclo). Fornisce consigli di risoluzione e stime degli effort necessari.
  • Raccomandazioni - segmenta le applicazioni assegnando una priorità così da potere meglio discriminare dove concentrarsi per avere il massimo risultato di miglioramento sull’impatto ambientale.
  • Evoluzione del Green Impact - analizza le applicazioni nel tempo e mostra i progressi compiuti per migliorare l'impatto ecologico dei sistemi software.

CAST_HIghlight_Green_ImpactFigura 4: Green Deficiencies e stima dell’effort per la risoluzione

Conclusioni

Cast Highlight è quindi lo strumento che permette, in modalità automatica, di tenere sotto controllo il portfolio applicativo fornendo anche indicazioni su come ristrutturarlo, migliorarlo, evolverlo.