La proliferazione di applicazioni che possono facilmente interfacciarsi l’una con l’altra, condividendo servizi, è abilitata dallo sviluppo della API – Application Programming Interface, ma perché possano essere utilizzate e sfruttate efficacemente è necessario gestire, si parla quindi API management.
Cosa sono le API e perché è necessario gestirle con una soluzione di API management
Una Application Programming Interface è un’applicazione che, attraverso una modalità standard per l’interrogazione e l’accesso dei dati, espone le funzionalità di un’altra applicazione, consentendole di comunicare con le altre applicazioni e abilitando il riuso dei servizi resi disponibili che possono così comporsi e scomporsi in base alle necessità.
Le API diventano così uno strumento indispensabile per erogare rapidamente quei servizi che il business richiede: è grazie alle API, per esempio, che un’applicazione enterprise viene facilmente resa disponibile su mobile o, ancora, che ci si può integrare in una catena estesa “aprendo” le proprie applicazioni a fornitori e partner ecc.
A questo proposito, in un recente studio IDC condotto a livello globale emerge come le strategie di Api management svolgano un ruolo fondamentale non solo nel favorire lo sviluppo di nuovi servizi e applicazioni, ma anche per costruire ecosistemi di partner e clienti che favoriscano la diffusione e lo sfruttamento dei dati. La società di ricerca si aspetta infatti che nei prossimi 10 anni il 75% delle organizzazioni si baserà su modelli digitali e quasi tutte le applicazioni già nel prossimo anno si fonderanno su architetture a microservizi. Ed è indiscusso il ruolo centrale delle Api nel potenziare proprio tali architetture applicative a microservizi.
Si assiste dunque a un proliferare di API che però, se non vengono gestite e governate, rischiano di rendere ingovernabile il parco applicativo di ogni azienda.
Le piattaforme di API management
Sono quindi nate piattaforme di API management per creare, governare e distribuire API, gestendone il versioning, la reperibilità e definendone i limiti d’uso. Scopo di una soluzione di API management è dunque quello di monitorare, ottimizzare e rendere sicuro l’utilizzo delle API tramite il controllo degli accessi, l’applicazione delle policy di sicurezza, il routing, il caching, gli strumenti di analisi e monitoraggio.
Queste soluzioni, inoltre, supportano la monetizzazione di dati e servizi esposti consentendo di gestire transazioni, prezzi, misurazione del consumo, fatturazione, provisioning di chiavi di accesso o token.
Le piattaforme API management più complete, infatti, consentono di gestire l’accesso a pagamento alle API, fornendo agli sviluppatori le informazioni necessarie per creare applicazioni basate su di esse; pagamento che può essere diretto o con una condivisione sui ricavi (per esempio: utilizzando l’API di PayPal, gli sviluppatori consentono ai loro clienti di pagare facilmente per un oggetto, mentre PayPal riceve una percentuale diretta di ogni vendita).
Funzionalità e caratteristiche di una soluzione di API management
Forrester raggruppa le funzionalità delle soluzioni di API management in tre categorie principali:
- quelle che consentono di utilizzare e gestire le API come se fossero dei veri e propri prodotti – In questo caso, la soluzione di API management fornisce al produttore dell’API strumenti analitici per capire come gli sviluppatori “utenti” stanno utilizzando le API, strumenti di configurazione per gestirne gli accessi nonché strumenti di comunicazione per interagire con le comunità di sviluppatori;
- quelle che ne gestiscono l’utilizzo – Sono quelle funzionalità che consentono di comprendere come utilizzare le API disponibili (e quindi sono rivolte agli sviluppatori “utenti”); tracciano quale applicazione utilizza una specifica API e con quale frequenza; forniscono agli sviluppatori tutti gli strumenti di supporto necessari per comprendere come utilizzare le API;
- quelle che rafforzano la security – Le soluzioni di API management utilizzano gateway che rafforzano la sicurezza e il controllo degli accessi alle applicazioni implementando differenti livelli di sicurezza sulla base delle diverse esigenze di protezione dei dati e delle applicazioni connesse.Le API possono essere sviluppate per molteplici motivi (figura 1): alcune hanno un utilizzo esclusivamente interno e vengono create per rendere più agevole la fruizione di determinati servizi agli utenti interni; altre vengono realizzate per creare ecosistemi dinamici abilitando l’integrazione della propria applicazione con quelle dei partner; altre ancora, come quelle sviluppate da Google o Facebook ecc. sono destinate a essere rese disponibili a una vastissima platea di utenti.
Gli scenari di utilizzo di una soluzione di API management
Una soluzione di API management deve poter rispondere alle esigenze di differenti scenari di utilizzo; per aiutare a comprendere e classificare le proprie necessità, al fine di scegliere la soluzione più idonea, Forrester ne ha identificati cinque:
- costruire un’ampia community di utenti attraverso Rest API: i big player come Google, Twitter, Facebook ecc. rendono disponibili un’ampia gamma di API gratuite e semplici da implementare per attrarre una grande quantità di sviluppatori indipendenti. In questo caso è molto importante disporre di una soluzione di API management che abbia strumenti analitici molto potenti che consentano di comprendere quanti stanno utilizzando le API e come, per cosa ecc.;
- supportare lo sviluppo di app mobile attraverso Rest API: la soluzione di API management diventa il luogo dove si coordinano tutte le attività di sviluppo e distribuzione di API che consentono la fruizione di servizi applicativi in mobility. Può servire una soluzione che stressi particolarmente questo aspetto: alcune forniscono funzionalità aggiuntive specifiche come la notifica push, la geolocalizzazione ecc;
- facilitare l’utilizzo di diverse tipologie di API – Le grandi aziende hanno utilizzato negli ultimi dieci anni, e continuano a farlo, sia il protocollo Soap (Simple Object Access Protocol) sia la tecnologia Rest, insieme ai WebSocket (tecnologia web che fornisce canali di comunicazione full-duplex attraverso una singola connessione TCP) e ad applicazioni di comunicazione come Amqp- Advanced Message Queuing Protocol o JMS- Java Message Service. In questi casi è necessaria una soluzione di API management in grado di governare questa eterogeneità e di combinare API con SOA-Service Oriented Architecture;
- costruire una solida community B2B attorno ad API mission critical: in questo caso è necessario privilegiare la scelta di una soluzione di API management che consenta la gestione di un’ampia tipologia di API e che risponda a esigenze di sicurezza dei dati, in termini sia di privacy sia di integrità, molto stringenti.
- agire come un provider di API che vuole trarre valore diretto dall’accesso alle applicazioni: in questo caso la soluzione di gestione delle API deve integrare funzionalità di fatturazione e di gestione del pagamento.
Come valutare una soluzione di API management
Mentre rimandiamo all’articolo Soluzioni di API management: una guida per orientarsi nella scelta per le indicazioni sulle soluzioni più diffuse, riportiamo di seguito i criteri utilizzati da Gartner e Forrester per l’inserimento delle soluzioni nei loro rispettivi Magic Quadrant for Full Life Cycle API Management (figura 1) e Forrester Wave for API Management (figura 2).
Il mercato è dunque ricco di proposte e Forrester e Gartner raccomandano di leggere attentamente le analisi effettuate per ogni singolo vendor riportate nei due documenti (scaricabili dai siti delle due società) per comprendere qual è la soluzione più adatta alle proprie esigenze.
I criteri adottati da Forrester
La valutazione è stata effettuata sulla base di 27 criteri, raggruppati nei tre seguenti gruppi:
- Offerta corrente – Sono stati oggetto di valutazione: il portale per gli utenti/sviluppatori delle API, incluso il supporto per scenari dove i partner B2B utilizzano API; le funzionalità di pubblicazione delle API, comprese definizioni, documentazione ecc.; le policy di sicurezza adottate, inclusa le gestione degli utenti e la protezione da attacchi esterni; la gestione dell’API come prodotto, quindi le funzionalità di fatturazione e attribuzione di prezzi in base alla fruizione. Nella Wave sono inseriti solo vendor in grado di fornire soluzioni complete di API management che, per Forrester, significa avere almeno i seguenti elementi core: un portale per gli utenti/sviluppatori, un portale per l’amministrazione e un gateway API. Deve poi poter funzionare come soluzione standalone senza che debba essere necessariamente associata ad altra piattaforma.
- Strategia – È stata analizzata la strategia di go to market complessiva del vendor e quali sono le azioni messe in campo per supportare le esigenze dell’API economy: pianificazione dei miglioramenti della soluzione; servizi forniti a supporto; ecosistema di partner a supporto della soluzione; programmi di certificazione.
- Presenza sul mercato – In primo luogo è stato analizzato il livello di presenza geografica del vendor valutando quanto egli sia in grado di supportare la propria soluzione, direttamente o indirettamente, in tutto il mondo. Quindi è stato considerato il numero di clienti che fino ad oggi ha adottato la soluzione prendendo in considerazione solo le realtà che hanno almeno 10 clienti paganti.
I criteri adottati da Gartner
Per entrare nel Magic Quadrant, un vendor deve rispondere a tre macro criteri:
- La soluzione può essere commercializzata in modalità cloud, on premise o ibrida; l’offerta cloud può essere parte di una più ampia offerta SaaS, iPaaS o HIP (Hybrid integration Platform) mentre l’offerta on premise può essere parte integrante dell’infrastruttura di integrazione o della tecnologia di governance SOA. La soluzione deve coprire almeno due fasi delle 5 del ciclo di vita di un’API identificate da Gartner:
- pianificazione, capacità di supportare il cliente nella pianificazione dell’API più adatta alle proprie necessità;
- progettazione e implementazione, un’API può essere progettata per soddisfare i requisiti di una o più applicazioni business specifiche o di applicazioni mobili o ancora abilitare l’accesso a specifiche tipologie di utenti. Bisogna quindi comprendere bene quale API pubblicare e per farlo è possibile seguire diversi approcci o un mix degli stessi: una soluzione di gestione delle API può fornire diverse funzionalità per semplificare l’implementazione delle API;
- distribuzione ed esecuzione – funzionalità di base: operative, di runtime e manutenzione delle API; distribuzione ed esecuzione – funzionalità avanzate: collaboration, advanced analytics, facilità di integrazione ecc.);
- versioning e dismissione, ossia la gestione delle differenti versioni dell’API fino alla sua dismissione.
- L’offerta deve essere general purpose e non relativa a uno specifico settore verticale; inoltre deve disporre di un portale per gli sviluppatori.
- Le soluzioni devono generare almeno 10 milioni di dollari all’anno di entrate e nel caso il vendor persegua un modello di business basato su abbonamento open source il fatturato deve essere di almeno 2 milioni di dollari l’anno. Queste cifre includono le entrate provenienti da software, SaaS, iPaaS, PaaS, servizi gestiti da cloud, supporto e servizi professionali/di consulenza relativi all’offerta di API management.
..