Panoramica
Con gestione delle API si intendono i processi di distribuzione, controllo e analisi delle interfacce di programmazione delle applicazioni (API) che mettono in connessione applicazioni e dati in azienda e nei cloud. Per spiegare cos'è in pratica un'API, possiamo pensare a due 2 app che condividono dati in tempo reale. Tale comunicazione avviene tramite un set di strumenti, definizioni e protocolli per integrare software e servizi applicativi.
La gestione delle API consente alle organizzazioni che le creano o le adottano di monitorarne l'attività, garantendo che vengano soddisfatte le esigenze degli sviluppatori e delle applicazioni che le utilizzano. Tramite gli strumenti di gestione delle API le organizzazioni possono condividere configurazioni, controllo degli accessi, raccogliere e statistiche di utilizzo delle API, migliorando così i criteri di sicurezza della rete e degli utenti delle API.
Le strategie di gestione delle API, sempre più adottate dalle aziende, mirano a proporre soluzioni tempestive alle richieste in costante evoluzione dei clienti. Per realizzare tale obiettivo, la maggior parte di loro sceglie un'architettura basata su microservizi poiché consente di ottenere cicli di sviluppo del software più veloci.
Le API basate su HTTP sono ormai il metodo più diffuso per l'interazione sincrona tra architetture di microservizi, mentre le API REST facilitano le chiavi API, il throttling per client, la convalida delle richieste e gli endpoint API privati. Tali API sono il collante che unisce tutti i microservizi. La loro gestione garantisce che le API siano impiegate conformemente alle policy aziendali e ne consente la governance secondo livelli adeguati di sicurezza, considerato che alcuni servizi possono richiedere criteri di sicurezza diversi da altri.
I vantaggi della gestione delle API
In sostanza, la gestione delle API offre un controllo centralizzato del programma API avvalendosi di strumenti analitici, controllo degli accessi, monetizzazione e flussi di sviluppo. Una soluzione apposita, come Red Hat 3scale API Management, è garanzia di affidabilità, flessibilità, qualità e velocità. E per garantire che le API pubbliche e interne siano fruibili e sicure, una soluzione di gestione delle API deve includere come minimo funzionalità di controllo degli accessi, limitazione della velocità e criteri di utilizzo. Gran parte delle soluzioni di gestione delle API include anche quanto segue:
Portale degli sviluppatori Per la gestione delle API spesso viene impiegato un portale degli sviluppatori. In genere rende disponibili la documentazione correlata e una procedura per la registrazione dello sviluppatore, ad esempio l'iscrizione e la gestione dell'account.
Gateway API. Il gateway API rappresenta un unico punto di accesso per tutti i client. Determina inoltre il modo in cui i client interagiscono con le API mediante l'uso di criteri.
- Gestione del ciclo di vita delle API. Le API devono poter essere gestite in ogni loro fase: progettazione, implementazione e dismissione. Red Hat 3scale API Management è la soluzione leader per la gestione del ciclo di vita delle API.
Analisi. La visibilità sulle API esposte, ossia sapere, ad esempio, quale utente o app chiama quale API, e con quale frequenza, è molto importante, così come sapere quante API non hanno funzionato e perché.
Supporto per la monetizzazione delle API. Monetizza l'accesso ai microservizi su cui si basano le API con i contratti a consumo. Con una soluzione di gestione delle API puoi definire i contratti a consumo in base a metriche predefinite, come il numero di chiamate alle API. Puoi inoltre segmentare e differenziare i livelli di accesso degli utenti, e offrire ai diversi segmenti diverse tipologie di servizio.
Queste sono le funzionalità di cui tenere conto in fase di progettazione dell'API in modo che garantiscano controllo del traffico, sicurezza e applicazione dei criteri di accesso attraverso componenti autogestiti o cloud. Se adeguatamente progettate, le API possono essere condivise, protette, distribuite, controllate e monetizzate in un'architettura IT realizzata per ottenere maggiori prestazioni, controllo e crescita.
Gestione delle API e microservizi
Lo sviluppo rapido di componenti applicativi capaci di soddisfare le nuove esigenze aziendali, approccio noto anche come sviluppo applicativo cloud native, si fonda su microservizi e API. Non è un approccio privo di difficoltà.
La prima sfida tecnica da superare per creare microservizi è la suddivisione di sistemi di grandi dimensioni in componenti più piccoli, in grado di connettersi tra loro e con le sorgenti di dati grazie alle API.
Riuscire a coordinare questi microservizi e le loro numerose variazioni è la problematica successiva da risolvere. La funzionalità di rilevamento dei servizi semplifica questa operazione. I servizi di gestione delle API forniscono i meccanismi di rilevamento necessari per individuare i microservizi disponibili e, nel portale degli sviluppatori, mettono a disposizione la documentazione relativa al loro utilizzo.
I microservizi esigono un approccio integrato alla sicurezza. Ed è il tipo di API a determinare il meccanismo di sicurezza da adottare: i servizi rivolti all'esterno richiedono livelli di protezione diversi da quelli utilizzati internamente. In genere, una semplice protezione con chiavi API è sufficiente per le API che non sono mission-critical. Per le API esterne o strategiche occorre invece un approccio più sicuro, ad esempio OAuth.
Vantaggi di una piattaforma di gestione delle API
Le piattaforme di gestione delle API sono costituite da una serie di componenti chiave che forniscono servizi end to end che favoriscono integrazione delle applicazioni, nonché gestione, protezione e monitoraggio delle API.
Un gateway API intercetta tutte le richieste client in ingresso e le convoglia verso il sistema di gestione, per metterle in collegamento con i servizi di backend.
Un portale per sviluppatori è una dashboard basata sul Web che offre agli operatori accesso self-service a documenti e istruzioni relativi alle API, esempi di codice, software development kit (SDK) e altre risorse dedicate.
Nel processo di gestione è incluso anche un metodo semplice per gestire e monitorare l'intero ciclo di vita delle APItramite strumenti che offrono funzionalità per la progettazione utilizzando specifiche basate su standard di settore, il controllo delle versioni e delle modifiche, nonché per il monitoraggio dell'utilizzo e delle prestazioni delle API nel tempo.
Le piattaforme di gestione delle API sono costituite da componenti per la protezione e il controllo degli accessi per implementare criteri di sicurezza, autenticazione e autorizzazione per proteggere API e dati sensibili dagli accessi non autorizzati e violazioni, come OAuth e OpenID per la gestione delle identità e degli accessi.
Una piattaforma di gestione delle API inoltre non può prescindere da strumenti di analisi e monitoraggio, in grado di fornire informazioni su utilizzo, prestazioni e funzionamento delle API. Si tratta di strumenti che monitorano volume di traffico, tempi di risposta, percentuali di errore ed endpoint popolari delle API in tempo reale, oltre a dati e analisi delle tendenze precedenti per individuare ostacoli nelle prestazioni, ottimizzare l'utilizzo delle API e misurare l'impatto delle API sugli obiettivi di business.
Infine, una soluzione di gestione delle API efficiente consente di espandere l'ecosistema per consentire l'integrazione con sistemi o partner esterni, oppure con sistemi interni alla rete dell'organizzazione.
Stai per progettare un'API per i microservizi?
Prova a rispondere a questi quesiti:
- In che modo l'azienda controlla l'accesso all'API?
- Come vengono acquisite le metriche e gestiti gli avvisi?
- Come vanno gestiti i picchi di utilizzo?
- Chi è responsabile dell'operatività dell'API?
- Esiste una strategia volta a impedire o mitigare l'utilizzo improprio dell'API?
Come misurare l'efficacia dei metodi di gestione delle API
Non è possibile valutare la riuscita della gestione delle API senza misurarne l'efficacia. Gli strumenti di analisi forniscono dati sull'attività delle API, ma affinché abbiano significato vanno raffrontati a criteri specifici. A tal fine occorre tenere conto di cinque obiettivi prestazionali chiave:
- Affidabilità. Con questo termine si intende la disponibilità dell'API agli sviluppatori. Una metrica utile per misurare questo valore è il tempo di inattività. L'API è utilizzabile in qualsiasi momento? Un'altra metrica utile è la quota, che definisce il numero di chiamate che uno sviluppatore può effettuare all'API entro un determinato intervallo di tempo. Definendo una quota, l'API viene protetta dall'uso improprio, e la sua gestione risulta più prevedibile. Alcuni modelli aziendali e piani tariffari di provider di API si basano sulle quote.
- Flessibilità. Con flessibilità intendiamo le opzioni a disposizione degli sviluppatori che adottano le API. A una maggiore flessibilità dell'API corrispondono un impegno e un costo maggiore a carico dell'organizzazione che la gestisce.
- Qualità. La qualità misura la coerenza della conformità del comportamento dell'API alle aspettative dello sviluppatore. È un modo per misurare la soddisfazione dello sviluppatore rispetto all'API.
- Velocità. La velocità può essere misurata in termini di latenza d'accesso e velocità effettiva e può essere influenzata da tecniche quali il throttling o il caching.
- Costo. Misurare il costo di un'API serve a mettere a disposizione degli sviluppatori uno strumento con il miglior rapporto qualità/prezzo. Sia pure in diversa misura, tutti gli altri quattro obiettivi incidono su quello di costo.
Perché scegliere Red Hat?
Red Hat® OpenShift®, la piattaforma applicativa di cloud ibrido con tecnologia Kubernetes leader del settore, unisce servizi testati e affidabili per ridurre gli attriti tra sviluppo, rinnovamento, distribuzione, esecuzione e gestione delle applicazioni. Che sia distribuita on premise, in un cloud ibrido, su diversi cloud o in modalità nativa su servizi cloud popolari, Red Hat OpenShift supporta i carichi di lavoro più impegnativi come AI/ML ed edge, oltre a consentire la distribuzione dell'automazione e la gestione del ciclo di vista grazie al nostro ampio ecosistema di partner tecnologici.
Basata sul progetto open source Istio, Red Hat® OpenShift® Service Mesh offre uno strumento unificato per la connessione, la gestione e il monitoraggio delle applicazioni basate su microservizi. Progettata per offrire agli sviluppatori un'esperienza più efficace ed end to end per le architetture di applicazioni basate sui microservizi, consente ai team di evitare le attività complesse come l'implementazione di servizi di rete personalizzati per applicazioni e logica di business.
Red Hat Application Foundations offre alle organizzazioni un set completo di strumenti e tecnologie per sviluppare, distribuire ed eseguire le applicazioni in maniera sicura in ambienti cloud ibridi su larga scala. Questa soluzione consente ai team di condividere, proteggere, distribuire e controllare le API durante tutto il ciclo di vita, grazie a funzionalità chiave come gestione centralizzata, controllo degli accessi, limitazione della velocità, analisi e report di utilizzo.