Si parla tutti i giorni dei vantaggi che la trasformazione digitale può portare, ma occorre fare attenzione a come la transizione viene gestita. Nel caso di adozione graduale di servizi esposti tramite API, può insorgere un problema di governance: c’è il rischio di generare continuamente un “debito tecnologico” e che i processi rischino di scappare di mano in termini di crescita organica. Per mantenere il controllo sull’Architettura IT bisogna evolvere in modalità ROI-oriented e secondo un disegno architetturale che guidi l’evoluzione del sistema informativo. Come arriva l’API Management a essere un elemento fondamentale di supporto alla governance?
Le sfide di oggi nell’API Management
Negli ultimi due anni si sente sempre più parlare di architetture a microservizi e della necessità di introdurre sistemi di API. Le API e l’API Management esistevano in realtà anche prima dell’era dei microservizi e rispondevano all’esigenza di realizzare integrazioni basate su web services non-micro, tipicamente REST e SOAP.
Che i microservizi ora stiano dando un’ulteriore spinta verso la diffusione di architetture IT sempre più orientate alle API è un dato di fatto. Non si possono però trascurare gli impatti organizzativi e le necessità di governance delle API che emergono quando questi servizi diventano decine se non centinaia, quando rispondono a diversi layer e diverse funzioni aziendali, quando vengono sviluppati da team indipendenti e quando gli utilizzatori appartengono a tipologie diverse (interni, partner, esterni). Sono casi in cui la governance delle API diventa un passaggio necessario.
Possono sorgere quindi diversi tipi di sfide da gestire:
- Come governo la complessità di un ecosistema che vede un numero sempre più alto di API tra loro interconnesse e che si poggiano su sistemi a loro volta in continuo mutamento?
- Come garantisco l’omogeneità del design e l’applicazione di security policy?
- Come abilitare i vari fornitori attraverso un’integrazione efficace, aderente a standard riconosciuti?
- Che strumenti posso dare al mio API Architect e al mio API Product Owner per supportarli nel far evolvere l’architettura e l’infrastruttura, senza il rischio di creare una “spaghetti API”?
Supportare la crescita con un API Gateway
L’API Gateway, oltre che essere un pattern architetturale, è anche il componente di piattaforma principale a offrire funzionalità e supporto ai problemi di gestione delle API come quelli di cui abbiamo appena parlato.
Quando una soluzione di questo tipo diventa necessaria per un’organizzazione?
- Quando ci sono utilizzatori diversi, per esempio partner, fornitori, clienti interni ed esterni;
- Quando ci sono molteplici touchpoint tra loro indipendenti: in questo contesto le API devono poter evolvere limitando gli impatti tecnologici ed economici sui touchpoint coinvolti;
- Quando si vuole rendere indipendenti i team di sviluppo, svincolandoli dal know how delle persone;
- Quando le API sono viste come prodotti fondamentali per abilitare il business.
Nel momento in cui le API diventano per l’organizzazione uno strumento e un prodotto aziendale, non è più possibile pensare di non avere la governance del sistema: diventa chiara la necessità di adottare una soluzione di API Management da introdurre all’interno del proprio sistema IT.
Gli strumenti di API Management a servizio della governance
Vediamo assieme alcune delle principali componenti o funzionalità che una piattaforma di API Management assolve a supporto della governance:
- Gestire il ciclo di vita delle API
Come faccio a gestire un’API deprecata? Oppure come gestisco API che evolvono e hanno bisogno di supportare vecchi e nuovi client? In che modo il nostro API Architect favorisce la prototipazione e la gestione di API in disuso o da dismettere? I componenti di API LifeCycle Management danno la possibilità di gestire tutto il ciclo di vita di un’API e supportare sviluppi in ottica API first creando mock efficaci per la fase prototipale. - Garantire la sicurezza e il controllo degli accessi
In che modo posso garantire un accesso autenticato e autorizzato alle API? Come posso controllare chi ha accesso a determinate API, da un punto di vista di auditing ma anche per capire se un’API è ancora in uso? L’API Architect deve garantire autenticazione, accessi autorizzati e flussi di autenticazione standard quali OAuth2 e OpenIDConnect attraverso componenti preposti a questa funzione come l’API Gateway. - Favorire l’adozione e l’utilizzo delle API
In che modo garantisco una facile interoperabilità con il mondo degli sviluppatori che possono ricoprire ruoli diversi (interni, partner, esterni) e avere accesso a API diverse a seconda dei vari layer architetturali? L’API Business Owner ha interesse che gli stakeholder reperiscano esempi funzionanti, documentazione, ambienti sandbox dove testare le implementazioni con velocità e facilità così da rendere costo-efficace e promuovere al tempo stesso l’utilizzo delle API. Il developer portal è un componente che affianca l’API Gateway e che gioca un ruolo importante per censire gli utenti e le applicazioni che utilizzano le API e favorire la loro adozione. - Garantire performance & monitoring
Come posso assicurare che le API rispondano con un adeguato livello di performance, che l’infrastruttura sottostante sia resiliente e capace di sopportare picchi di carico? L’API Architect definisce diversi livelli di servizio e ha l’onere di mantenere sotto controllo l’utilizzo dei sistemi sottostanti. Necessita quindi di strumenti di monitoraggio real time per agire tempestivamente al verificarsi di condizioni critiche e di componenti di monitoring, di alerting e di caching a supporto della IT governance operativa. - Tenere sotto controllo l’evoluzione nel tempo
Quale utente e quante App chiamano le API? e con quale frequenza? È molto importante avere delle statistiche per capire come stanno funzionando le API, così come sapere quante API hanno generato disservizi e perché. I componenti di API Analytics sono indispensabili all’API Product Owner per tenere sotto controllo la qualità del servizio erogato, i livelli di utilizzo e la loro evoluzione nel tempo. Diventa necessario definire report e metriche utili a orientare la governance strategica nei confronti di un’infrastruttura che deve adeguarsi alle esigenze di business dell’azienda.
A nostro avviso, le organizzazioni che si ritrovano in questo scenario devono cominciare a dare valore e rilevanza al tema della governance. Riteniamo importante che, a prescindere dai prodotti che si decideranno di utilizzare e da quali pain point si deciderà di partire, il tema sia affrontato a tutto tondo: questo è vero soprattutto quando si costruisce sempre più valore di business attorno alle API. Un trend che trova corrispondenza nelle realtà fortemente strutturate, come le aziende del settore assicurativo, bancario e dei servizi.
Vuoi sapere di più su questo tema? Lo abbiamo approfondito nell’evento: “Headless & API date 2020: attuare e governare la trasformazione digitale con le architetture IT”