Un'application programming interface (API) è un insieme di regole o protocolli che consentono alle applicazioni software di scambiare dati, caratteristiche e funzionalità. Le API aiutano le aziende a utilizzare servizi interni e di terze parti senza dover creare integrazioni personalizzate per ciascuno di essi. Secondo il rapporto sullo stato delle API 2025 di Postman, più di otto aziende su 10 hanno adottato una certa strategia API-first, mentre il 25% si considera completamente API-first.
Le API Gateway svolgono un ruolo chiave nei moderni ambienti IT semplificando le interazioni API e aiutando le applicazioni client ad accedere a un'ampia varietà di servizi (tramite le rispettive API di tali servizi), anche servizi sviluppati in diversi linguaggi di programmazione, ospitati su piattaforme diverse o distribuiti in ambienti cloud, edge e on-premise.
Le API Gateway possono servire sia gli utenti interni che accedono a un'API Gateway di prima o di terze parti sia gli utenti esterni, come clienti o business partner. Nei sistemi federati, le aziende utilizzano più gateway per applicare protocolli e standard di sicurezza diversi a seconda del gruppo di API o del tipo di utente.
Le API Gateway sono spesso dotate di due livelli architettonici principali:
Il piano di controllo gestisce la configurazione e la gestione, impostando le politiche di sicurezza, la registrazione e il monitoraggio delle richieste API e definendo le regole di routing.
Il piano dati instrada le richieste API in tempo reale, applicando al contempo le linee guida di routing, i protocolli di sicurezza e i vincoli sui dati impostati dal piano di controllo.
Una richiesta di dati proveniente da un client a un'API prende il nome di chiamata API. L'API gateway riceve una chiamata API (a volte chiamata richiesta API), la indirizza a uno o più servizi di backend, raccoglie i dati richiesti e li consegna al cliente in un'unica risposta combinata. In caso contrario, il client dovrà interfacciarsi direttamente con più API per accedere a ogni servizio o origine dati pertinente.
Ad esempio, un sistema sanitario potrebbe utilizzare un API gateway per aiutare i pazienti a connettersi a più servizi di backend tramite un'applicazione. Utilizzando un laptop o un telefono, i pazienti possono esaminare le cartelle cliniche, fissare appuntamenti, effettuare pagamenti e inviare messaggi. L'API Gateway funge da singolo punto di ingresso (o endpoint), quindi gli utenti non devono navigare tra più piattaforme per accedere a ciascun servizio. Supporta inoltre la crittografia, l'applicazione delle autorizzazioni e altre misure di sicurezza per proteggere i dati sensibili dei pazienti.
Newsletter di settore
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
Prima di esplorare come vengono implementate le API Gateway, è importante capire in che modo differiscono dalle API stesse. Le API sono insiemi di regole e protocolli che consentono a diverse applicazioni software di comunicare, spesso tramite i protocolli basati sul web HTTP o HTTPS. Sono come i piani all'interno di un edificio per uffici, e ogni piano rappresenta un servizio specifico. Per recuperare i dati, il cliente deve visitare il piano corrispondente per accedere al servizio interno.
Un API gateway, invece, è come la porta d'ingresso dell'edificio per uffici, l'unico punto di passaggio che i clienti devono utilizzare per raggiungere ogni piano. In molte configurazioni, il gateway funge anche da addetto alla sicurezza: controlla le credenziali dei visitatori per determinare a quali piani hanno il permesso di accedere. E invece di lasciare che i clienti esplorino ogni piano da soli, recupera le informazioni o i servizi richiesti per loro conto e li restituisce loro come un unico pacchetto.
Le API Gateway aiutano le organizzazioni a offrire un'esperienza API uniforme, sicura e soddisfacente per gli utenti. Le funzioni e le responsabilità chiave includono:
Agendo come endpoint API unificato, il gateway riceve le chiamate in entrata, le autentica, le elabora in base alle politiche organizzative e le indirizza ai servizi di backend appropriati. Quindi, il gateway aggrega e restituisce i risultati al client API (spesso un'app o un sito web rivolto all'utente) in forma composita. Questo processo consente agli utenti di effettuare diverse richieste con una singola chiamata API e ricevere una risposta coerente. In alcune configurazioni, il gateway opera insieme a un livello di orchestrazione del workflow che può coordinare attività automatizzate in più fasi per semplificare le funzioni aziendali.
L'API Management è il processo scalabile di creazione, pubblicazione e gestione delle API all'interno di un'azienda. Secondo la società multi-cloud f5, le organizzazioni moderne spesso gestiscono migliaia di API contemporaneamente, rendendo la visibilità, il controllo e la governance una sfida continua. Le API Gateway semplificano questa complessità centralizzando le attività di gestione come il routing delle richieste, il controllo delle versioni, il bilanciamento del carico e la gestione del traffico. Inoltre migliorano l'observability delle API generando registri delle chiamate API e integrandosi con strumenti di analytics, offrendo ai team un insight più approfondito dei modelli di utilizzo delle API.
L'API Security si riferisce alle pratiche e alle procedure che proteggono le API da usi impropri, attacchi dannosi e altre minacce alla cybersecurity. Le API Gateway aiutano a far rispettare l'API Security gestendo l'autenticazione, l'autorizzazione e altri controlli di autorizzazione e accesso. Usano protocolli di crittografia come Transport Layer Security (TLS) e Open Authorization (OAuth) per aiutare a mantenere una rete sicura e facilitare connessioni sicure.
La limitazione della frequenza, o l'autorizzazione di un determinato numero di richieste per utente, può proteggere dagli attacchi DDoS (Distributed Denial-of-Service). Infine, l'API Gateway gestisce la governance e la supervisione di ogni API del sistema, proteggendola da disallineamenti, API Shadow e altre vulnerabilità di sicurezza.
Le API Gateway possono monitorare e registrare le richieste, le risposte e gli errori delle API. Le aziende utilizzano quindi questi dati di analytics per comprendere meglio il traffico e le prestazioni delle API, migliorare la risoluzione dei problemi e rafforzare la sicurezza. Registri e metriche non solo migliorano la visibilità, aiutando i team a identificare rapidamente errori e minacce alla sicurezza, ma forniscono anche un contesto su come e perché gli errori emergono, contribuendo allo stato di salute a lungo termine.
Le API Gateway possono migliorare l'efficienza all'interno di un'azienda, aiutando i servizi di backend a raggiungere alte prestazioni e alta disponibilità e contribuendo a un'esperienza più affidabile e reattiva per gli utenti. La compressione delle risposte consente al gateway di trasformare risposte di grandi dimensioni in file più piccoli, riducendo il consumo di larghezza di banda e i tempi di caricamento. Il caching aiuta le aziende a memorizzare localmente i dati a cui si fa riferimento comunemente, migliorando le prestazioni e riducendo al minimo i costi e il carico del server. Infine, mentre le aziende spesso implementano la limitazione della velocità per motivi di sicurezza, la tattica promuove anche la stabilità, impedisce che i server vengano sopraffatti e aiuta a garantire che l'accesso alle API sia distribuito equamente.
Sebbene condividano le funzioni principali, le distribuzioni delle API Gateway possono variare a seconda dell'architettura e dell'implementazione. I framework comuni includono:
Un'architettura di microservizi è un approccio di sviluppo software di alto livello che suddivide le applicazioni in parti più piccole e funzionanti in modo indipendente. Ogni microservizio è responsabile di una singola funzione e può essere distribuito e scalato autonomamente. Allo stesso tempo, i servizi possono comunicare facilmente tramite API, fungendo da blocchi modulari per programmi più grandi. Secondo un report di Gartner del 2023, quasi tre quarti delle organizzazioni utilizzano i microservizi, mentre un ulteriore 23% prevede di implementare il framework in futuro.
In un ambiente di microservizi, le API Gateway spesso gestiscono il traffico nord-sud, indirizzando le chiamate API da client esterni al servizio di backend appropriato. Spesso collaborano con le reti di servizi, che gestiscono principalmente il traffico est-ovest, o le comunicazioni tra servizi all'interno dell'ambiente dei microservizi. Esistono alcune eccezioni: un'API Gateway può essere configurata per instradare il traffico interno, soprattutto in ambienti moderni. Ma il gateway tende a trovarsi in un livello architetturale separato, mentre le mesh di servizio vengono distribuite insieme o integrate con ciascun servizio per facilitare e gestire le connessioni interne.
In un ambiente di microservizi, l'API Gateway svolge un ruolo chiave consentendo alle organizzazioni di restituire le risorse richieste tramite una singola chiamata API. Ad esempio, una società di e-commerce potrebbe disporre di servizi separati per le informazioni sui prodotti, i prezzi e l'inventario. Con un'API Gateway, l'azienda può recuperare informazioni o accedere alle funzioni da ciascun servizio tramite una sola richiesta. Questo workflow è particolarmente utile quando gli ambienti di microservizio diventano più complessi, con le aziende che aggiungono nuovi servizi e API nel tempo.
Kubernetes è un sistema di orchestrazione open source che aiuta le aziende a distribuire, scalare e gestire i servizi all'interno di ambienti container, in cui le applicazioni sono impacchettate come contenitori leggeri raggruppati con le relative dipendenze. Kubernetes è spesso utilizzato nelle architetture di microservizio, sebbene possa supportare anche monolitico, serverless e altri framework. La piattaforma di orchestrazione svolge un ruolo critico nella moderna infrastruttura cloud, consentendo agli sviluppatori di sviluppare applicazioni una sola volta e implementarle ovunque.
Le API Gateway possono interagire con un cluster Kubernetes containerizzato in diversi modi:
Se distribuito in più di un cluster Kubernetes, un'API Gateway può avere funzione di bilanciamento del carico, indirizzando il traffico verso il cluster corretto in modo che nessuna istanza venga sovraccaricata.
Una volta implementato sull'edge di un singolo cluster Kubernetes, un'API Gateway può avere funzione di controller di ingresso. I controller di ingresso indirizzano il traffico in un cluster Kubernetes, verso i servizi richiesti e poi di nuovo in uscita.
Se distribuito all'interno di un cluster Kubernetes, un'API Gateway può integrare e funzionare insieme a un mesh di servizi che gestisce la comunicazione tra servizi containerizzati interni. Questa integrazione può migliorare il bilanciamento del carico, l'individuazione dei servizi, il routing del traffico e la crittografia end-to-end.
In un modello serverless, gli sviluppatori non si interfacciano direttamente con i server su cui si basano le loro applicazioni. Piuttosto, i provider di cloud sono responsabili della gestione e del provisioning dei server, quindi gli sviluppatori possono concentrarsi esclusivamente sulla scrittura e l'implementazione del codice.
In un contesto serverless, le API Gateway funzionano in modo simile ai gateway negli ambienti di microservizi. Ma invece di recuperare dati da servizi di lunga durata, attivano eventi (istruzioni che avviano azioni particolari) in base alle richieste dei clienti. Questo approccio aiuta a garantire che le applicazioni vengano eseguite solo quando necessario, migliorando la sicurezza e l'efficienza.
Serverless e microservizi possono essere combinati per formare un'architettura ibrida in cui ogni servizio opera come distribuzione serverless (anziché come distribuzione containerizzata o di macchina virtuale), riducendo potenzialmente i costi e migliorando la scalabilità, soprattutto per i workload variabili.
Non tutte le implementazioni di API Management hanno lo stesso aspetto. I componenti possono differire in base alla complessità del sistema, all'approccio architettonico e al caso d'uso previsto, anche se le distinzioni non sono sempre chiare, con alcuni componenti che condividono ruoli e funzioni sovrapposti.
Un controller di ingresso è un componente software nativo di Kubernetes che funge da proxy inverso, indirizzando il traffico HTTP esterno ai servizi all'interno di un cluster Kubernetes in base a una serie di regole di ingresso. I controller di ingresso presentano spesso caratteristiche di bilanciamento del carico, che indirizza in modo intelligente il traffico verso diversi servizi per contribuire a garantire la stabilità della rete. Possono anche regolare dinamicamente i comportamenti di routing per adattarsi alle nuove implementazioni e agli aggiornamenti della configurazione.
Sebbene i controller di ingresso Kubernetes svolgano alcune delle stesse funzioni delle API Gateway, quest'ultime hanno generalmente un ambito più ampio e incorporano più strumenti di gestione di alto livello come audit, registrazione, controllo degli accessi e sicurezza. Inoltre, mentre le API Gateway possono supportare varie configurazioni, i controller di ingresso sono specifici per gli ambienti Kubernetes.
Una mesh di servizi è un livello infrastrutturale che facilita la comunicazione tra i servizi interni, consentendo loro di condividere in modo efficiente dati e funzioni. Mentre il piano di controllo (che imposta le configurazioni e le politiche) è centralizzato, il piano dati viene distribuito su ogni servizio tramite proxy sidecar leggeri. Questi proxy, che si trovano accanto a ciascuna istanza del servizio, eseguono le politiche del piano di controllo, tra cui sicurezza, registrazione, routing e crittografia. Al contrario, i gateway API si trovano in genere ai margini della rete, in un livello architetturale separato sia dal client che dalle API che gestiscono.
Sebbene la mesh di servizi faciliti lo scambio di dati e informazioni, i servizi hanno comunque bisogno di un modo per interagire con il traffico esterno. In questo caso, un componente speciale chiamato gateway di ingresso funge da punto di ingresso della mesh, gestendo il routing del traffico esterno mantenendo le politiche di sicurezza e prestazioni. Le API Gateway e le mesh di servizi vengono spesso utilizzate insieme: l'API Gateway gestisce le interazioni pubbliche e le mesh di servizi facilitano le connessioni tra i servizi.
Più un ambiente API è complesso, maggiore è il traffico proveniente dalle API e maggiore è il valore che un'API Gateway può fornire. Oltre a instradare il traffico verso i servizi back-end, Le API Gateway possono anche:
Le API Gateway possono ottimizzare l'instradamento del traffico, con conseguente bassa latenza e miglioramento dell'esperienza. La limitazione della velocità stabilisce un limite al numero di richieste che un cliente può fare e blocca le richieste eccessive. La limitazione delle richieste gestisce i picchi di traffico rallentando, ritardando o mettendo in coda le richieste. E il bilanciamento del carico aiuta le aziende a determinare lo stato di salute di un server in base a metriche in tempo reale e ad adattare di conseguenza i percorsi di instradamento. Insieme, queste strategie proteggono i servizi di backend dal sovraccarico o dalla compromissione, riducono al minimo i tempi di risposta e contribuiscono a un servizio più rapido e affidabile.
I gateway API aiutano le organizzazioni a bilanciare il traffico delle API e i workload man mano che l'organizzazione cresce. I gateway possono integrarsi con i sistemi di automazione per aggiungere o rimuovere istanze in tempo reale in base alla domanda di traffico, consentendo agli sviluppatori di concentrarsi sul core business e sullo sviluppo delle API piuttosto che sull'amministrazione.
Le API Gateway possono anche accelerare le distribuzioni DevOps definendo e applicando politiche e sicurezza coerenti e fornendo il traffico in tutta la rete. Questo controllo centralizzato offre ai team l'autonomia di scalare o aggiornare i servizi in modo indipendente senza influire sull'ecosistema più ampio, migliorando l'allocazione delle risorse e la velocità di innovazione.
Infine, poiché i gateway possono gestire efficacemente più versioni di un'API, gli sviluppatori possono testare diverse iterazioni prima dell'implementazione o mantenere un'istanza di una versione precedente dell'API per un caso d'uso specifico.
Sebbene le API abbiano ruoli e responsabilità distinti, spesso condividono alcuni workflow comuni. Ad esempio, molte chiamate API vengono sottoposte a un processo di autorizzazione e convalida identico per conformarsi ai protocolli di sicurezza. Ciascuna API potrebbe essere soggetta alle stesse politiche di registrazione e monitoraggio, utilizzate per ottenere insight sui tassi di utilizzo e sul traffico. Se le API vengono monetizzate, potrebbe essere necessario instradare ogni chiamata verso un servizio di fatturazione. Un'API Gateway può orchestrare e automatizzare ognuna di queste attività in modo che gli sviluppatori non debbano eseguirle manualmente durante ogni chiamata API.
Le API Gateway supportano anche la terminazione Secure Sockets Layer (SSL), un metodo utilizzato per decrittografare i dati sensibili, come password e numeri di carte di credito, al gateway, alleggerendo questa attività ad alta intensità di prestazioni dalle singole API. Infine, quando più iterazioni di un'applicazione vengono implementate sullo stesso server, le API Gateway possono indirizzare senza problemi il traffico verso la versione appropriata leggendo le intestazioni, i percorsi URL e i parametri delle query.
Poiché le API svolgono un ruolo fondamentale nella moderna infrastruttura IT, sono spesso a rischio di attacchi informatici, inclusi DDoS (Distributed Denial-of-Service), manomissione dei parametri, attacchi di injection e altre minacce. Le API Gateway possono aiutare a proteggersi da queste minacce con limitazione della velocità, autenticazione API, autorizzazione delle richieste e altre tecniche.
Le API Gateway sono spesso dotati di caratteristiche integrate di gestione delle identità e degli accessi (IAM), che forniscono visibilità su chi sta tentando di interagire con quali servizi. Possono anche monitorare l'utilizzo delle API, registrare il traffico e analizzare le metriche per identificare comportamenti o vulnerabilità sospetti prima che si verifichi un attacco. Infine, le API Gateway possono essere utilizzate insieme a strumenti come i firewall delle applicazioni web, che monitorano, filtrano e bloccano il traffico HTTP dannoso.
Le API Gateway supportano architetture cloud ibride, consentendo agli utenti di interagire con i servizi di backend che utilizzano protocolli e formati di dati diversi, come il trasferimento dello stato rappresentativo (API REST), SOAP, gRPC e WebSocket.
Senza un'API gateway, le API potrebbero avere difficoltà a trasformare manualmente le chiamate API in un formato accessibile. I gateway mitigano questa sfida eseguendo la conversione di dati e protocolli, trasformando automaticamente le richieste e le risposte in formati comprensibili sia per i client che per i servizi.
Le aziende possono anche sincronizzare la documentazione e le chiavi di accesso tra l'API Gateway e il portale dello sviluppatore (il repository centrale in cui gli sviluppatori possono scoprire e implementare nuove API) in modo che l'ambiente di sviluppo rifletta accuratamente le ultime implementazioni e aggiornamenti delle API.
Le applicazioni legacy possono rappresentare un ostacolo al progresso, soprattutto quando sono incompatibili con le moderne implementazioni API, come SaaS o IoT. Tuttavia, vale spesso la pena conservare le app legacy perché contengono dati e funzioni essenziali che non possono essere facilmente sostituiti.
Le API Gateway consentono alle aziende di riutilizzare le applicazioni legacy con un nuovo scopo per le moderne impostazioni cloud, anziché abbandonarle o ricostruirle da zero. Le funzionalità di conversione del gateway consentono alle aziende di preservare il codice e la formattazione originali di un legacy app, anche quando il resto dell'azienda si sposta a sistemi più recenti.
Il disaccoppiamento, che prevede la suddivisione dei servizi in parti più piccole, consente alle API Gateway di applicare la limitazione della velocità, la limitazione e altri strumenti alle app legacy per aiutare a modernizzare la loro funzionalità e estendere il loro ciclo di vita. Questa strategia aiuta anche le aziende a mantenere i servizi online anche se li aggiornano dietro le quinte.
Come centro di controllo del traffico in entrata di un'applicazione, le API Gateway possono fornire una visione completa dell'utilizzo e delle prestazioni delle API. Grafici e dashboard personalizzati aiutano le aziende a visualizzare modelli di traffico, produttività, tempi di risposta e altre metriche. Le notifiche avvisano i team di potenziali errori e violazioni prima che influiscano sulle prestazioni o sulla sicurezza delle applicazioni.
Se da un lato le API Gateway possono aiutare a risolvere complicati problemi di routing, dall'altro possono anche introdurre nuovi problemi. Alcune sfide comuni includono:
Le API Gateway in genere aiutano a semplificare la comunicazione API, l'allocazione delle risorse e le richieste di routing. Tuttavia, configurazioni errate e capacità insufficiente possono avere l'effetto opposto: aumentare il rischio di colli di bottiglia e mettere a dura prova il sistema. Per evitare interruzioni e rallentamenti del servizio, le aziende possono fornire più risorse man mano che acquisiscono nuovi clienti e ampliano la loro offerta di servizi.
Le API Gateway introducono un livello aggiuntivo nell'ecosistema API di un'azienda, richiedendo manutenzione, calcolo ed esperienza aggiuntivi. Gli sviluppatori potrebbero trovare più difficile testare nuove distribuzioni perché le API Gateway possono essere difficili da ricreare con precisione in un ambiente virtuale. Questa limitazione rende difficile per i team sapere in anticipo in che modo le implementazioni potrebbero influire sul sistema.
Una pratica DevOps chiamata infrastructure as code (IaC) può aiutare ad affrontare queste sfide utilizzando i file di configurazione per automatizzare la gestione e la standardizzazione dell'infrastruttura. Questo approccio semplifica la manutenzione e il provisioning, aiutando i team IT a massimizzare l'efficienza delle API Gateway riducendo al contempo la complessità architettonica.
Poiché le API Gateway agiscono come un unico punto di accesso, il gateway stesso può diventare un potenziale vettore di attacchi informatici o infiltrazioni. Le minacce e gli errori hanno anche maggiori possibilità di passare a cascata attraverso più servizi di backend, interrompendo potenzialmente il traffico API e danneggiando applicazioni altrimenti funzionanti.
Per ridurre questo rischio, le aziende possono mantenere diverse istanze di gateway in ambienti e zone di disponibilità, contribuendo a garantire che se una passa offline, un'altra possa temporaneamente prendere il suo posto. Allo stesso modo, le organizzazioni possono utilizzare diversi tipi di gateway, inclusi gateway edge e mesh di servizi, per distribuire le responsabilità di routing e gestione su più punti di ingresso.
Una volta che un'organizzazione sceglie un'API Gateway che soddisfa le sue esigenze specifiche e sviluppa il proprio ambiente API attorno a quel gateway, passare a un altro fornitore può essere costoso e richiedere molto tempo. In alcuni casi, un'organizzazione potrebbe scegliere di ospitare autonomamente un gateway open source, anziché utilizzare un servizio gestito, per mantenere un controllo più preciso sulle configurazioni. Tuttavia, se un'organizzazione sceglie un'opzione in self-hosting, questo approccio può essere più costoso per il team di sviluppo.
Supporta un'integrazione dinamica e scalabile che si adatta all'evoluzione delle esigenze aziendali. Automazione basata su AI e API
Sblocca il potenziale aziendale con le soluzioni di integrazione di IBM, che collegano applicazioni e sistemi per accedere rapidamente e in modo sicuro ai dati d'importanza critica.
Sfrutta l'hybrid cloud al massimo valore nell'era dell'agentic AI