L’espressione “Spaghetti Architecture” compare sempre più frequentemente negli articoli dedicati alle sfide che CISO e CIO devono affrontare lungo il percorso di digitalizzazione dell’azienda per cui lavorano. Ma che cosa sta a significare esattamente?
Potremmo cominciare col dire che, se non avete mai sentito prima il termine e se siete gli amministratori di un’infrastruttura informatica che ha alle spalle parecchi anni e diverse stratificazioni, molto probabilmente siete dentro una Spaghetti Architecture.
Cos’è una Spaghetti Architecture e perché si verifica
Ma cerchiamo di essere più precisi. Spaghetti Architecture è un termine usato per descrivere un’architettura software disordinata e poco strutturata, che soprattutto per aziende alle prese con un percorso di Application Modernization, ne rallenta o ostacola la capacità di cambiare rapidamente componenti dell’architettura, innescando dei meccanismi in cui nessuno osa fare la prima mossa.
Fig. 1 – Rappresentazione visiva della Spaghetti Architecture
Come facilmente intuibile, l’espressione è una metafora che paragona i sistemi IT a un piatto di spaghetti, dove ciascun filamento di pasta rappresenta un flusso o processo che collega due o più strumenti aziendali e che, attorcigliandosi in un groviglio sempre più complesso, limita la comprensione delle effettive funzionalità che offre a ciascuna integrazione.
All’atto pratico, la Spaghetti Architecture si manifesta in diverse forme: la si riconosce in presenza di sistemi strettamente accoppiati e codebase cresciute senza una sufficiente pianificazione e disciplina. Il che porta di solito a connessioni punto a punto non documentate, dipendenze complesse e intrecciate tra i vari componenti, mancanza di standardizzazione e governance per l’intero ecosistema.
|
Potenza computazionale: quando è troppa costa, ma quando è poca è inutile. Come uscirne? |
I problemi tecnici connessi alla Spaghetti Architecture
Il paradosso è che un simile groviglio può nascere anche a partire dalle migliori intenzioni. Anzi, molto spesso, le scelte che nel tempo hanno portato alla creazione di una Spaghetti Architecture avevano lo scopo originario di ottenere una rapida implementazione dei sistemi garantendo la massima flessibilità nell’IT management.
Al contrario, puntualmente, una Spaghetti Architecture porta a quattro tipologie di problemi tecnici già a breve termine.
- Riduzione della manutenibilità. Man mano che i sistemi diventano complessi, trovare e correggere i bug o apportare i miglioramenti desiderati diventa sempre più difficile. Il tempo e gli sforzi necessari per districarsi nel codice possono rallentare drasticamente la velocità di sviluppo.
- Scarsa scalabilità. La Spaghetti Architecture spesso non ha la struttura necessaria per assicurare la giusta scalabilità. Al mutare delle esigenze aziendali, questo tipo di sistemi potrebbe non supportare adeguatamente l’aumento dei carichi di lavoro o l’integrazione di nuove funzionalità.
- User experience incoerente. I diversi componenti della Spaghetti Architecture possono evolversi in modo indipendente, dando luogo a un’esperienza disarticolata per gli utenti su diverse piattaforme, con conseguente diminuzione della soddisfazione.
- Bassa affidabilità dell’ecosistema. Con un numero maggiore di dipendenze e una scarsa trasparenza dell’architettura, aumentano le possibilità di errori e downtime. Quando si apportano modifiche senza una comprensione completa degli ambienti, si va spesso incontro a conseguenze indesiderate, che a loro volta si possono ripercuotere sull’efficienza delle applicazioni.
Superare la Spaghetti Architecture con il modello della Composable Enteprise
Come districarsi (letteralmente) da una Spaghetti Architecture? Il mio consiglio è quello di prendere in considerazione l’adozione di un modello basato sul concetto di Composable Enterprise (CE), che rappresenta l’evoluzione delle Service-oriented Architecture (SOA).
Per dare vita a una Composable Enterprise è prima necessario dotarsi di uno strumento che semplifichi l’integrazione tra i sistemi esistenti e quelli necessari a sostenere l’evoluzione del business. Il pensiero corre immediatamente alle Integration-Platform-As-a-Service (IPaaS) che costituiscono la soluzione ideale nell’ottica di:
- centralizzare le integrazioni, creando un layer univoco che standardizzi e gestisca le connessioni tra i vari sistemi;
- migliorare la scalabilità, consentendo la crescita del parco applicativo all’interno di un’architettura modulare e flessibile;
- aumentare l’affidabilità dell’ecosistema IT, riducendo errori e downtime grazie a una gestione più controllata delle integrazioni.
Pertanto, l'adozione di piattaforme di integrazione come le iPaaS non è semplicemente un passo avanti tecnologico, ma un cambio di paradigma che consente ai leader IT di orchestrare con precisione e agilità gli asset del business. In questo modo, diventa possibile non solo semplificare la gestione delle infrastrutture ma anche mitigare i rischi associati a un ecosistema IT complesso e frammentato.
In definitiva, sono dell’idea che la Composable Enterprise si configuri come la chiave di volta per costruire un'infrastruttura resiliente, capace di soddisfare le esigenze aziendali con una flessibilità e una reattività che la Spaghetti Architecture non potrà mai offrire.