In che modo il team IT può assicurarsi la fornitura di sistemi e applicazioni che rispettano i requisiti di robustezza e resilienza.
Avere un parco applicativo che rispetta i requisiti di robustezza e resilienza è una questione strategica cruciale, legata alla protezione e alla crescita del business. Quando parliamo di robustezza e resilienza, facciamo riferimento a due aspetti distinti che influenzano la capacità di un sistema di affrontare problemi e garantire un funzionamento affidabile nel tempo.
Un parco applicativo che non rispetta i requisiti di robustezza e resilienza crea un ambiente fragile, in cui anche i piccoli guasti e imprevisti possono avere effetti a catena devastanti per il business. I motivi per cui si viene a creare questa situazione possono essere molteplici:
Il rischio tecnologico può diventare un rischio per l’intera azienda fino a:
In un contesto in cui le applicazioni devono essere sempre più affidabili e disponibili, l’IT deve essere in grado di fornire al business garanzie sul fatto che le applicazioni rimangano operative in ogni circostanza e che possano riprendersi rapidamente quando si verifica un guasto.
Molte organizzazioni stanno guardando al low-code come a una soluzione per garantire resilienza e robustezza: tempi di sviluppo e iterazione più rapidi (quindi anche più possibilità di fare test), utilizzo di blocchi predefiniti e già predisposti di meccanismi integrati di monitoraggio e gestione delle eccezioni, possibilità di gestire in modo centralizzato e automatizzato gli aggiornamenti per i componenti utilizzati, visto che il codice sottostante è gestito dalla piattaforma low-code stessa.
Quest’ultimo punto, il fatto che le applicazioni possano continuare a funzionare senza interruzioni anche dopo un aggiornamento, è un aspetto fondamentale al giorno d’oggi. Ricordiamo il caso Crowdstrike, dove un aggiornamento difettoso ha causato un’interruzione globale: questo sottolinea quanto sia cruciale avere un sistema di aggiornamenti che possa garantire la continuità operativa anche durante i processi di patching o update.
Il rischio legato all’utilizzo di piattaforme low-code è legato non tanto alla produzione – che è molto semplificata per via di interfacce grafiche e componenti predefiniti che possono essere assemblati senza la necessità di scrivere grandi quantità di codice manualmente – quanto al design dei processi e delle integrazioni.
In WEGG siamo consulenti esperti di analisi dei processi aziendali, al fine di ottimizzarli:
Nel nostro scouting di tecnologie low-code abbiamo individuato la scelta migliore nella piattaforma Mendix, di proprietà Siemens, in quanto ci sono funzionalità che garantiscono robustezza e resilienza by design. Essa è riconosciuta nel quadrante di Gartner per il settimo anno consecutivo tra le migliori piattaforme low-code sul mercato e ha soluzioni verticali anche per settori che richiedono elevata complessità, come quello finanziario, manufatturiero e sanitario.
Creare applicazioni robuste e resilienti con Mendix
Prendiamo come esempio un sistema di gestione degli ordini: un’architettura tradizionale e monolitica rende difficili o impossibili i rapidi cambiamenti necessari per stare al passo con un ambiente aziendale in continua evoluzione. I frequenti aumenti della domanda, la necessità di aggiornare rapidamente il software, talvolta in tempo reale, la capacità di gestire la dimensione o la durata della coda prima che diventi un problema, l’essere in grado di ripristinarsi rapidamente se un server va giù… sono tutti elementi che incidono sul modello di business e sulla sua capacità di soddisfare richieste e aspettative degli utenti.
Metodi di sviluppo alternativi come il low-code sono sicuramente efficaci quando si tratta di muoversi più rapidamente e di preparare l’organizzazione al futuro, ma devono avere funzionalità native di robustezza e resilienza per poter ri-architettare sistemi monolitici in più moderne architetture di microservizi. La creazione e replicazione di questa rete di applicazioni è molto più semplice rispetto alla programmazione e alla duplicazione tradizionale.
Ma il vantaggio di Mendix è quello di poter gestire e ottimizzare regolarmente questi microservizi senza tempi morti grazie a funzionalità CI/CD (Continuous Integration/Continuous Delivery) che distribuiscono applicazioni in modo automatizzato e ben collaudato. Per dirla in breve, se è necessario apportare una modifica, questa può essere fatta senza influenzare il resto del panorama in quanto è sufficiente distribuire una nuova applicazione. Quali sono i vantaggi?
Il Version Control nativo di Mendix, inoltre, garantisce anche la tracciabilità nella gestione delle versioni del codice. Ogni modifica al codice può essere facilmente recuperata in caso di problemi: quindi questo influisce sia sulla stabilità dell’applicazione sia sulla resilienza operativa perché facilita il roll-back a una versione precedente e funzionante.
Mendix ha come elemento differenziante un’infrastruttura modulare che permette la creazione di moduli componibili, ognuno dei quali può sfruttare le funzionalità di alta disponibilità e disaster recovery fornite dalla piattaforma, senza che sia necessario aggiungere ulteriori livelli di gestione manuale. Questo significa che sia i microservizi sia le applicazioni più grandi, distribuite come una serie di moduli, sono protetti da queste soluzioni di resilienza.
Inoltre, come abbiamo già detto, ogni modulo può essere aggiornato o distribuito in modo automatico e sicuro, con piani di continuità operativa che tengono conto delle strategie di HA/DR. Questo garantisce che i moduli siano disponibili, facilmente recuperabili in caso di guasto e modificati e aggiornati senza compromettere la resilienza dell’intero sistema.
Un percorso di revisione delle proprie architetture allo scopo di offrire maggiori garanzie di robustezza e resilienza passa per un’analisi degli input/output e dei processi che si vuole ottimizzare e la distribuzione di una rete di applicazioni configurate ad hoc su tecnologia Mendix con funzionalità native che ne assicurano la disponibilità e il ripristino in caso di imprevisti. Ricordiamoci che la pipeline CI/CD permette anche la gestione proattiva di eventuali problematiche, con la possibilità di aggiornare e rivedere processi tra le maglie del sistema mentre esso è in funzione.
Approfondimenti
I NOSTRI UFFICI
I NOSTRI UFFICI
PADOVA
Via Arnaldo Fusinato 42, 35137
MILANO
Viale Enrico Forlanini 23, 20134
ROMA
Viale Giorgio Ribotta 11, 00144
Copyright © 2022 WEGG S.r.l. • P.I 03447430285 • C.F. 02371140233 • REA 311023
Azienda certificata ISO 9001:2015