La tecnologia promette semplificazione, ma spesso sposta la complessità in livelli meno visibili del sistema.
La promessa di ridurre l'attrito
La digitalizzazione chiede all'architettura informatica di sostenere una trasformazione continua. Nel breve periodo la tecnologia riduce attriti, accelera la consegna di valore e rende accessibili operazioni che prima richiedevano interventi più lenti e complessi.
Questa promessa, però, non elimina la necessità di costruire sistemi resilienti e sostenibili nel lungo termine. Le architetture devono conservare il dinamismo necessario a inseguire l'evoluzione delle funzionalità senza soccombere alla pressione dell'innovazione e alla continua rivalutazione dei propri assetti.
La complessità cambia luogo
La complessità cresce per composizione, non soltanto per dimensione. Servizi, API, cloud, container, pipeline, dipendenze e automazioni possono essere semplici se osservati uno alla volta, mentre il sistema che formano diventa progressivamente più difficile da comprendere.
Cloud computing, infrastrutture come codice, containerizzazione e piattaforme gestite semplificano operazioni prima difficili. Dietro un comando apparentemente banale, tuttavia, possono coordinarsi molti sistemi. L'astrazione riduce così la complessità percepita, ma può aumentare quella reale: la semplicità dell'interfaccia viene costruita distribuendo la complessità in livelli meno visibili.
La complessità non scompare: viene distribuita, nascosta e spostata altrove nel sistema.
Il costo sistemico dell'opacità
Ogni nuovo livello di astrazione porta con sé dipendenze e superficie operativa. L'automazione introduce inoltre una seconda complessità: quella del sistema che governa il sistema. Automatizzare evoluzione infrastrutturale, aggiornamenti, scalabilità, monitoraggio e gestione degli incidenti permette di sostenere architetture estese, ma aggiunge software, regole e dipendenze.
L'automazione è quindi contemporaneamente cura e nuova sorgente di complessità. Resta cruciale in tutte le fasi in cui può esprimersi in sicurezza, perché senza di essa il capitale umano verrebbe assorbito dalla fame insaziabile del software. Il suo valore, però, dipende dalla possibilità di comprenderne il comportamento complessivo.
Il vero costo non coincide allora con la quantità di tecnologia impiegata, ma con la progressiva perdita della capacità umana di leggere il sistema. Un'architettura semplice da usare ma impossibile da osservare non è realmente semplice: è soltanto opaca.
Rendere la complessità governabile
Non si tratta più soltanto di progettare oggetti tecnici, ma di articolare una complessità capace di evolvere in modo performante e sostenibile in condizioni di incertezza e cambiamento continuo.
Elasticità e scalabilità rendono l'infrastruttura reattiva alle evoluzioni funzionali e permettono di incrementare la velocità di consegna del valore riducendo, nel tempo, il consumo complessivo delle risorse. Osservabilità diffusa e telemetria riportano alla luce ciò che le astrazioni nascondono, spostando l'attenzione dai singoli sintomi a una visione continua e olistica dello stato del sistema. Automazione intensa consente infine di sostenere velocità e scala, purché rimanga leggibile e sicura.
La vera minaccia non risiede nella complessità tecnologica in sé, ma nella capacità umana di disegnarla efficacemente. Un sistema maturo non finge che la complessità sia stata eliminata: la rende visibile, comprensibile e governabile, così da assorbire cambiamento e innovazione senza diventare insostenibile.