Le architetture delle applicazioni o dei sistemi informativi si sono sviluppate ed evolute nel corso degli anni sulla base delle specifiche necessità delle imprese e grazie alle tecnologie messe a disposizione. Oggi si parla, infatti, di architetture e infrastrutture cloud-native che comportano una serie di vantaggi quali buona economia di gestione, flessibilità, scalabilità e velocità nel cambiamento. Non a caso, il cloud è riconosciuto come il vero abilitatore della trasformazione digitale.
Ma cosa significa utilizzarle per l’integrazione dei sistemi, sfruttando i vantaggi di un’infrastruttura digitale interconnessa? Ne parliamo con Gianluca Di Maio, alle prese in GreenVulcano con la definizione di queste architetture.
Gianluca, di cosa ti occupi in GVT? A quali progetti ti stai dedicando?
In GreenVulcano mi occupo principalmente della definizione delle architetture delle applicazioni o dei sistemi informativi, sia sviluppati internamente che da realizzare per i clienti. Al momento sto seguendo dei progetti con clienti che operano nel mercato italiano, nord americano e messicano. Entrambi i progetti fanno riferimento alla raccolta di dati telematici per l'automotive, ma con obiettivi di business diversi.
Quali sono, secondo te, le competenze necessarie da mettere in campo nel tuo lavoro?
Le competenze utili per poter seguire questa tipologia di progetti, a mio giudizio, devono essere trasversali e multidisplinari. Competenze che servono ad individuare e validare le soluzioni più adatte all’integrazione dei sistemi. Queste spaziano dalla conoscenza specifica delle architetture dei sistemi informatici alle problematiche IT, dalla conoscenza dei prodotti sul mercato a quella del business nel quale si va ad operare.
Quando si parla di "definizione delle architetture" al fine di validare possibili soluzioni per l'integrazione di sistemi che cosa significa? A cosa si fa riferimento?
La definizione delle architetture atte alla validazione delle soluzioni per l’integrazione dei sistemi presuppone lo svolgimento di alcune attività propedeutiche fondamentali. Ad esempio:
- interagire col cliente per comprendere con precisione l'esigenza di business per la quale è stato richiesto il nostro intervento;
- definire i requisiti funzionali (cosa deve fare l'applicazione o il sistema) e non (le caratteristiche di qualità dell'applicazione o sistema, come ad esempio la sicurezza, le performance, l'usabilità, ecc);
- analizzare i prodotti che permettono di soddisfare i precedenti requisiti individuati, decidendo quali sono più adatti ed eventualmente sviluppando soluzioni ad hoc, anche in base al budget disponibile.
Durante queste attività si fa riferimento alle esperienze pregresse e alle best practice specifiche dei prodotti candidati in valutazione.
Quali sono le possibili problematiche che affronti durante la scelta e/o validazione di queste soluzioni?
Ogni progetto ha peculiarità specifiche che vanno affrontate sia dal punto di vista tecnico (ad esempio, studiare il contesto di business, valutare i prodotti candidati) che "politico", ossia riuscire a spiegare al cliente perché una soluzione è migliore dell'altra, soluzione della quale magari il cliente stesso è maggiormente convinto. Inoltre, le difficoltà tecniche spesso si scontrano con i sempre più stringenti vincoli di time to market richiesti nelle attuali situazioni frenetiche di mercato.