Vista aerea di veicoli che si muovono attraverso un ampio incrocio cittadino

API gateway e bilanciatore di carico: differenze chiave e casi d'uso

Qual è la differenza tra un API gateway e un bilanciatore di carico?

Un API gateway funge da punto di ingresso che gestisce e indirizza le richieste API in entrata, mentre un bilanciatore di carico distribuisce tali richieste su più server o istanze, due funzioni distinte che lavorano insieme per mantenere un'architettura di sistema efficiente e resiliente.

Consideriamo un terminal aeroportuale e un controllore del traffico aereo. L'API Gateway funge da terminale, dove i passeggeri (richieste dei client) arrivano, effettuano il check-in, passano i controlli di sicurezza e vengono indirizzati al gate corretto in base alla loro destinazione. Come punto di ingresso frontend, l'API Gateway gestisce l'autenticazione, l'instradamento delle richieste, la traduzione dei protocolli e qualsiasi regola che determina dove deve andare una richiesta. Decide come indirizzare il traffico e le richieste verso il servizio di backend appropriato.

Il bilanciatore di carico, invece, è il controllore del traffico aereo che si assicura che, una volta pronto al decollo, un aereo gli venga assegnata una pista in modo da mantenere il flusso sicuro ed efficiente del traffico. Distribuisce il workload in arrivo su più server backend o istanze dello stesso servizio (nella maggior parte dei casi).

Lavorando insieme, l'API gateway determina cosa necessita ogni richiesta e quale servizio deve gestirla, mentre il bilanciatore di carico garantisce che l'istanza di servizio scelta non sia sovraccarica. Comprendere questi ruoli distinti e come si completano aiuta i team a progettare architetture più chiare, resilienti, scalabili e meglio allineate alle esigenze specifiche dei loro sistemi.

Come funzionano i bilanciatori di carico e gli API gateway?

Per capire come funzionano gli API gateway e i bilanciatori di carico nei sistemi distribuiti, è utile iniziare con il modello Open Systems Interconnection (OSI). Il modello OSI è un framework concettuale a sette livelli che standardizza come viene organizzata la comunicazione di rete, dalla trasmissione fisica dei bit fino alle interazioni con le applicazioni che producono risposte leggibili dall'utente.

All'interno di questo modello, gli API gateway operano principalmente al Layer 7 (applicazione), dove interpretano le richieste e applicano politiche consapevoli dell'applicazione come autenticazione, regole di routing e traduzione dei protocolli. I bilanciatori di carico possono operare al Layer 4 (trasporto), prendendo decisioni basate su IP e porte, oppure al Layer 7 per fare scelte di routing basate sui contenuti.

Con questi ruoli in mente, gli API gateway e i bilanciatori di carico sono responsabili delle diverse fasi di indirizzamento ed elaborazione del traffico in entrata mentre si spostare dai client ai servizi di backend. Dato che questi ruoli possono sovrapporsi in alcuni modi, soprattutto perché i gateway più recenti aggiungono caratteristiche leggere di routing o distribuzione, questi componenti appaiono in diverse disposizioni architettoniche a seconda di come è strutturato il sistema. Alcuni modelli comuni includono:

Insieme: nelle architetture di microservizi, un API gateway può autenticare richieste, applicare limiti di velocità e normalizzare protocolli, quindi inoltrare a un endpoint di servizio preceduto da un bilanciatore di carico, spesso un bilanciatore di carico applicativo (ALB), che seleziona un server disponibile. In questa configurazione, il gateway fornisce un controllo consapevole dell'applicazione e il bilanciatore ottimizza distribuzione e resilienza. I microservizi sono solo un esempio: gli API gateway sono utilizzati anche in ambienti monolitici, multi-applicazione e ibridi per coordinare il traffico API in entrata tra diversi sistemi. 

Indipendentemente (solo bilanciatore di carico):
per livelli web uniformi e senza stato, i team possono posizionare un bilanciatore di carico direttamente davanti a server identici per smussare i picchi e mantenere il tempo di attività senza orchestrazione a livello API. Oltre a questo, i bilanciatori di carico possono operare in modo indipendente in scenari come la direzione del traffico tra repliche di database in sola lettura, lo spostamento del carico tra endpoint geograficamente distribuiti, la gestione del failover in deployment multi-regione o il bilanciamento delle richieste verso sistemi legacy che non richiedono logica a livello di gateway. 

Indipendentemente (solo gateway): In alcune piattaforme gestite, un gateway può terminare il traffico client, applicare politiche e instradare direttamente verso servizi che hanno già una distribuzione integrata, mantenendo i benefici delle policy e dell'esperienza degli sviluppatori senza un livello di bilanciamento separato.

Molti gateway moderni possono anche eseguire determinate funzioni di bilanciamento del carico, come routing ponderato, round-robin o routing basato sul percorso, ma i team potrebbero comunque posizionare un bilanciatore di carico Layer 4 dedicato per la gestione delle connessioni o per scaricare il livello di trasporto ad alta velocità preoccupazioni.

Categoria

API Gateway

Bilanciamento del carico

Funzione primaria

Serve come unico punto di ingresso per i clienti; gestisce, protegge e orchestrare le richieste in arrivo su più servizi backend

Distribuisce il traffico di rete in entrata su più istanze di backend, solitamente identiche, per migliorare la disponibilità e le prestazioni e ridurre i colli di bottiglia.

Livello OSI

Principalmente Layer 7 (applicazione)

 

Layer 4 (trasporto) e/o Layer 7 (applicazione), a seconda del tipo (bilanciatore di carico L4 vs. L7)

Caratteristiche principali

Autenticazione/autorizzazione, controllo accessi, limitazione di velocità, trasformazione richiesta/risposta, versioning API, caching, analytics

Controlli di stato di salute, persistenza della sessione, terminazione SSL, pool di connessioni e ridondanza integrata

Gestione del traffico

Limitazione della velocità, strozzatura delle richieste, interruzione del circuito, riprova, timeout, qualità del servizio per API/consumatore, modellazione delle richieste/risposte

Gestione della connessione e delle sessioni, protezione contro sovratensioni, avvio lento, rilevamento degli outlier (in alcuni bilanciatori L7)

Meccanismi di routing

Routing basato sui contenuti (percorso/host/intestazione/query), controllo delle versioni, canary/blue-green by rules, integrazione del rilevamento dei servizi

Routing algoritmico (round-robin, connessioni minime, pesato, hash IP), selezione delle istanze basata su controllo della salute

Funzioni di sicurezza

Autenticazione/autorizzazione (OAuth 2.0, OIDC, JWT), chiavi API, terminazione mTLS verso upstream, integrazione WAF, validazione dello schema

Terminazione/offload TLS, ACL di base, integrazione WAF (nei prodotti L7), assorbimento DDoS (spesso tramite edge upstream/CDN)

Casi d'uso

Interfaccia API per microservizio, accesso zero-trust, mediazione API per mobile e web, bridging di protocollo, API monetizzate con piani/quote e supporto per modelli di consumo API reali

Scalabilità orizzontale di servizi principalmente senza stato (può anche supportare scenari con stato come l'affinità della sessione), alta disponibilità e tolleranza ai guasti, failover zonale/regionale, attenuazione del traffico di picco e minimizzazione dei tempi di inattività del servizio

webMethods Hybrid Integration

Reinventa l'integrazione per l'era dell'AI

IBM Web Methods Hybrid Integration mostra come le aziende possono connettere senza problemi applicazioni cloud e on-premise, consentendo una trasformazione digitale agile e scalabile. 

API gateway, bilanciatori di carico e observability

L'observability al livello API Gateway include tipicamente metriche come volumi di richieste, distribuzioni di latenza, valutazioni di policy, risultati di autenticazione e tassi di errore legati a rotte o consumatori specifici. I gateway generano anche log dettagliati che catturano le caratteristiche del payload di richieste e risposte, trasformazioni di header ed eventi di sicurezza come validazioni fallite dei token o trigger a limite di velocità. Il tracciamento a questo livello spesso evidenzia come una richiesta si sposti attraverso regole di instradamento, trasformazioni, aggregazione di risposte e chiamate backend, facilitando la diagnosi di problemi nel comportamento dell'API o nell'applicazione dei contratti.

I bilanciatori di carico mettono alla luce metriche operative focalizzate sul conteggio delle connessioni, stato di salute dei target, i tempi di risposta dalle istanze backend e il comportamento degli algoritmi di instradamento, insieme a log che mostrano decisioni sulla distribuzione del traffico e gli eventi di failover. Se analizzati insieme, gli insight a livello di gateway e di bilanciamento del carico rivelano una visione più completa di come il traffico fluisce attraverso un sistema e di dove possono sorgere problemi.

Ad esempio, un'elevata latenza del gateway potrebbe corrispondere a uno squilibrio a valle o a obiettivi fallimentari nel livello del bilanciatore di carico, mentre picchi nei failover del bilanciatore di carico possono risalire a richieste malformate o insolitamente pesanti visibili solo nel gateway.

Le organizzazioni con pratiche di observability mature spesso fondono questi punti di vista in dashboard o tracce unificate che permettono ai team di seguire una richiesta dal confine del client attraverso la logica di routing e nel comportamento delle istanze di backend. I team meno maturi possono esaminare ogni livello separatamente, ma anche una correlazione modesta di registri e metriche può aiutare a distinguere tra problemi relativi alle policy al gateway e problemi di prestazioni o disponibilità alla base del load balancer. Col tempo, integrare le intuizioni su entrambi i livelli può portare a una risoluzione dei problemi più rapida, a confini più chiari e a una comprensione più profonda dello stato di salute del sistema.

Contesti di implementazione e adattamento all'ecosistema

Dal punto in cui si collocano all'interno delle piattaforme, le responsabilità degli API gateway e dei bilanciatori di carico si spostano su Kubernetes, tra i controller API Ingress/Gateway e il bilanciamento di carico dei servizi, in base a come il traffico viene ammesso, protetto e distribuito.

All'interno di Kubernetes

  • Come gli oggetti Ingress, API Gateway o Service si mappano ai ruoli di tipo gateway e load-balancer

    In Kubernetes, Ingress e il più recente API Gateway forniscono un control plane simile a un gateway per l'instradamento host/path, la configurazione della sicurezza del livello di trasporto (TLS) e l'allegamento delle policy a livello applicativo. Molti dei controller che implementano queste specifiche (Envoy/NGINX/Traefik) sono progetti open-source ampiamente utilizzati che operano anche come reverse proxy, gestendo la modellatura e le trasformazioni del traffico prima di instradarlo nel cluster.

    Questi componenti spesso fungono da primo hop consapevole dell'applicazione per un'applicazione web, eseguendo compiti come la validazione JSON Web Token (JWT) o riscritture di header prima di inoltrare le richieste ai servizi backend.

    Al contrario, un Kubernetes Service di tipo LoadBalancer (o una NodePort abbinata a un bilanciatore di carico esterno) espone i workload e distribuisce il traffico tra i pod sottostanti (tramite i nodi). Questo livello si comporta in modo simile ai bilanciatori di carico tradizionali usati davanti a flotte di server web, selezionando istanze sane per garantire una consegna fluida. In pratica, il gateway decide come gestire una richiesta e a quale backend indirizzarla, mentre il servizio e il suo meccanismo di bilanciamento del carico decidono quale istanza riceve effettivamente la richiesta.
  • Variazioni del controller e della piattaforma

    La precisa ripartizione delle responsabilità dipende dal controller e dalla piattaforma. Il controller di un fornitore potrebbe includere più funzionalità gateway (autenticazione, integrazione con Web Application Firewall o WAF), mentre un altro delega queste funzionalità a sidecar o servizi esterni. Alcuni ambienti si basano fortemente sull'API Gateway per l'espressione delle policy, mentre altri utilizzano ancora Ingress classico più definizioni di risorse personalizzate per il routing avanzato.

    I provider cloud potrebbero anche inserire capacità proprietarie di bilanciamento del carico come i global anycast VIP (un unico IP pubblicizzato globalmente che instrada gli utenti verso l'endpoint più sano e più vicino) e il failover inter-zona (che sposta automaticamente il traffico in un'altra zona di disponibilità quando si è compromessi) che spostano dove si trovano determinati compiti. Di conseguenza, i team dovrebbero aspettarsi differenze nelle superfici di configurazione, nelle funzionalità supportate e nell'observability tra le distribuzioni.

Accanto alle mesh di servizi

  • Dove finisce la mesh e inizia l'edge

    Una mesh di servizi aiuta a gestire il modo in cui i servizi comunicano tra loro all'interno di un sistema. Garantisce che queste connessioni siano sicure, affidabili e regolate automaticamente quando si verificano problemi. Un gateway di ingresso o edge spesso si trova al Boundary della mesh, agendo in modo molto simile a un proxy inverso consapevole delle politiche, terminando connessioni esterne e applicando regole a livello API prima di consegnare il traffico ai servizi interni. A monte di ciò, un sistema di bilanciamento del carico o un gestore del traffico globale potrebbe distribuire le connessioni in entrata tra istanze gateway o aree geografiche.

  • Come le organizzazioni organizzano gateway e sistemi di bilanciamento del carico

    Alcune organizzazioni mantengono l'API gateway all'esterno della mesh per ridurre al minimo l'accoppiamento, mentre altre utilizzano un gateway mesh in modo che le policy e la telemetria siano uniformi. Alcuni team posizionano un bilanciatore di carico globale davanti a più gateway regionali per il geo routing; altri si basano su sterzo basato su DNSo su logica di edge CDN . La composizione corretta spesso riflette vincoli come i budget di latenza, le zone di conformità e le competenze operative, piuttosto che una best practice universale. Ciò che conta è che ogni livello abbia uno scopo chiaro e non duplichi le responsabilità in tutto lo stack.

Comportamenti specifici del protocollo

  • Considerazioni per gRPC, WebSockets, Event Streams o connessioni di lunga durata

    gRPC (HTTP/2) tende a funzionare in modo più efficace quando i componenti di sistema che lo gestiscono possono supportare pienamente il suo stile di comunicazione basato su streaming, il che significa che mantengono i benefici di HTTP/2, interpretano correttamente i suoi metadati ed evitano di ricadere in protocolli più vecchi. Per questo motivo, i gateway o i bilanciatori di carico L7 dovrebbero essere in grado di gestire il traffico in streaming senza intoppi, inclusa la gestione dei timeout e della pressione quando i dati fluiscono rapidamente in entrambe le direzioni.

    WebSocket ed eventi inviati dal server spesso coinvolgono connessioni di lunga durata, che possono essere sensibili a fattori come timeout inattivi, comportamento di keep-alive e limiti di connessione, specialmente quando molti client rimangono connessi per lunghi periodi. Nel caso di flussi di eventi, come le API di streaming in stile Kafka o personalizzate, i sistemi possono incontrare carichi utili elevati, guasti intermittenti o la necessità di scaricare e reidratare le connessioni durante le implementazioni.

    In questi tipi di protocolli di lunga durata, le scelte architettoniche riguardanti autenticazione, observability e come le connessioni rimangono collegate a specifici backend possono influenzare l'affidabilità complessiva e aiutare a evitare problemi come il blocco di head-of-line o interruzioni impreviste della sessione.

Ho bisogno di un bilanciatore di carico se ho un API gateway?

I team spesso incontrano API Gateway e bilanciatori di carico in diverse fasi del loro percorso architettonico, ma la sequenza non è fissa. Quale componente appare per primo (e se entrambi sono necessari) dipende da ciò che richiede un'applicazione o un ambiente IT più ampio, così come dai principi di progettazione del sistema che guidano quell'ambiente.

Un bilanciatore di carico potrebbe essere introdotto in anticipo per migliorare la disponibilità e distribuire il traffico tra più istanze di server, ma non fornisce l'autorizzazione, l'applicazione delle policy o i controlli a livello API che alcuni sistemi richiedono fin dall'inizio. Queste esigenze rientrano in genere nella più ampia disciplina della gestione delle API.

Allo stesso modo, alcuni ambienti introducono prima un API gateway perché la necessità iniziale si concentra sull'autenticazione, sull'instradamento delle richieste, sui limiti di frequenza o sulla gestione di un catalogo crescente di API. Con la crescita del traffico e l'espansione dei sistemi, che questa espansione avvenga all'interno di una singola applicazione o tra molte applicazioni in un'azienda, gli API gateway spesso diventano più importanti.

Forniscono un livello strutturato per gestire il modo in cui le API vengono esposte, protette e governate. In alcune organizzazioni, i gateway fungono da "porta principale" unificata per numerose applicazione interne ed esterne, mentre in altre possono fungere da livello di routing e policy per i microservizio all'interno di un singolo prodotto.

In breve, con l'aumento del traffico API e la complessità degli ambienti IT, sia gli API gateway che i bilanciatori del carico svolgono ruoli più cruciali. La loro importanza cresce perché affrontano diverse dimensioni di scalabilità, affidabilità, sicurezza e chiarezza operativa.

Autore

Judith Aquino

Staff Writer

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Soluzioni correlate
IBM API Connect

Sviluppa, gestisci, proteggi e socializza senza soluzione di continuità tutti i tipi di application programming interface (API), ovunque si trovino.

Esplora API connect
Soluzioni di integrazione IBM

Potenzia la tua azienda tramite una connettività e un'automazione senza soluzione di continuità con il software della piattaforma di integrazione.

Esplora le soluzioni di integrazione IBM
Servizi di consulenza cloud

Sblocca tutto il potenziale dell'hybrid cloud nell'era dell'agentic AI.

Esplora la consulenza sul cloud
Fasi successive

IBM API Connect supporta tutti i tipi di application programming interface (API) moderne, rafforzando la sicurezza e la governance. Le funzionalità di AI generativa (gen AI) automatizzano le attività manuali, facendo risparmiare tempo e garantendo la qualità. 

  1. Esplora IBM API Connect
  2. Esplora le soluzioni di integrazione IBM