AI Gateway per Web App: Routing LLM, Rate Limit e Crediti

Pim Feltkamp9 min di lettura
AI Gateway for Web Apps: Route LLMs, Rate Limits & Credits
Condividi questo articolo

Inserire una OPENAI_API_KEY grezza nel tuo file .env sembra una soluzione rapida — finché un log di build trapelato, un bundle client analizzato o un loop di fetch incontrollato non ti costa migliaia di euro in una notte. Un AI Gateway per web app risolve questo problema fungendo da unico intermediario intelligente tra la tua applicazione e ogni provider LLM che utilizzi. Questo articolo spiega esattamente come funziona un gateway, perché è importante per le app in produzione e come integrarlo in un progetto Next.js.

Cos'è un AI Gateway e come funziona? Un AI Gateway è uno strato proxy — distribuito tra la tua web app e le API LLM a monte — che gestisce autenticazione, routing del modello, rate limiting e contabilità dei crediti in un unico posto. La tua app invia una richiesta al gateway; il gateway seleziona il modello corretto, inietta la vera chiave API a runtime, applica le policy di utilizzo e inoltra la chiamata. Il tuo codice non vede mai la chiave grezza.

Cos'è un AI Gateway e Perché le Chiavi API Grezze Creano Rischi?

Quando incorpori le chiavi API direttamente nel codice dell'applicazione, crei diversi problemi cumulativi:

  1. Esposizione nel codice sorgente — Le chiavi salvate in un repository (anche privato) sono a un'autorizzazione mal configurata dall'essere pubbliche.
  2. Perdita nei log di build — Molti sistemi CI/CD stampano le variabili d'ambiente in modalità verbosa; una chiave che appare in un log è di fatto compromessa.
  3. Perdita nel bundle client — In framework come Next.js, una variabile con prefisso NEXT_PUBLIC_ o importata accidentalmente in un componente client viene distribuita a ogni browser.
  4. Nessuna revoca centralizzata — Se una chiave è incorporata in cinque servizi, revocarla significa aggiornare tutti e cinque simultaneamente.

Un AI Gateway riduce tutti e quattro i problemi a uno solo: la tua app si autentica al gateway, e il gateway si autentica a OpenAI, Anthropic, Google o qualsiasi provider tu necessiti. Ruota una chiave in un unico posto; ogni servizio a valle continua a funzionare.

"Il gateway è l'unica fonte di verità per ogni credenziale LLM nel tuo stack. Revoca, ruota o sostituisci un modello senza toccare il codice dell'applicazione."

Come Funziona il Routing del Modello in un AI Gateway?

Il routing del modello è la capacità del gateway di scegliere quale LLM utilizzare per una determinata richiesta, in base a regole che tu definisci. Le strategie di routing più comuni includono:

  • Routing per costo — Indirizza prompt brevi e a basso rischio verso un modello più economico (es. GPT-4o mini) e riserva i modelli costosi (GPT-4o, Claude 3.5 Sonnet) per attività di ragionamento complesso.
  • Routing per latenza — Se un utente sta aspettando una risposta in tempo reale, il gateway può preferire il modello più veloce disponibile e passare a uno più lento ma più ricco se i target di latenza sono soddisfatti.
  • Routing per tipo di attività — Tagga le richieste per intento (summarize, code, classify) e mappa ogni tag al modello con le migliori prestazioni di benchmark per quell'attività.
  • Routing con fallback — Se il provider principale restituisce un 429 o 5xx, il gateway riprova automaticamente su un provider alternativo senza che il tuo codice applicativo gestisca quella logica.

Perché Questo È Importante per le Strategie Multi-Provider

Il panorama degli LLM cambia velocemente. Un modello che guida i benchmark di generazione del codice oggi potrebbe essere superato in tre mesi. Con il routing centralizzato in un gateway, si cambia l'assegnazione del modello in una sola configurazione; gli endpoint della tua applicazione rimangono identici. Secondo la documentazione dei modelli di Anthropic, anche all'interno della gamma di un singolo provider, le versioni più recenti dei modelli possono offrire un rapporto prezzo-prestazioni 2–3× migliore — un gateway ti permette di adottare gli aggiornamenti istantaneamente.

Quali Sono i Vantaggi di Utilizzare un AI Gateway per le Web Application?

I vantaggi si sommano in termini di sicurezza, costo e velocità di sviluppo:

  1. Gestione centralizzata dei segreti — Un unico archivio crittografato per tutte le credenziali LLM; nessuna chiave tocca mai il codice o gli artefatti di build della tua app.
  2. Costi prevedibili — I budget di token per utente o per endpoint impediscono a un singolo utente problematico di prosciugare la tua quota mensile.
  3. Indipendenza dal provider — Passa da OpenAI ad Anthropic (o usa entrambi) senza modifiche al codice nella tua app.
  4. Audit e osservabilità — Ogni richiesta attraverso il gateway è registrabile; ottieni conteggi di token, latenza, modello utilizzato e tassi di errore in un unico posto.
  5. Conformità semplificata — Per le app in settori regolamentati, avere le credenziali in uno strato gateway isolato e crittografato è molto più facile da auditare rispetto a file .env dispersi.

Come Si Differenzia un AI Gateway da un API Gateway Tradizionale?

CaratteristicaAPI Gateway TradizionaleAI Gateway
Preoccupazione principaleRouting HTTP, auth, throttlingTutto quanto sopra + semantiche specifiche per LLM
Gestione delle credenzialiChiavi API per i propri serviziGestisce le chiavi del provider LLM a monte
Logica di routingBasata su URL/metodoSelezione del modello per costo, latenza, tipo di attività
Controllo dei costiLimiti al conteggio delle richiesteLimiti di budget token per utente/sessione
Supporto allo streamingParzialeSSE / streaming in blocchi di prima classe
Gestione del fallbackRetry genericoFallback del modello con consapevolezza del provider

Un API gateway tradizionale (come AWS API Gateway o Kong) è eccellente per instradare il traffico HTTP verso i propri microservizi. Un AI gateway estende quel concetto con primitive native per LLM: conteggio dei token, pass-through in streaming, alias dei modelli e registri dei crediti. Spesso hai bisogno di entrambi in uno stack di produzione, ma risolvono problemi diversi.

"I budget di token non sono la stessa cosa dei rate limit sulle richieste. Un AI Gateway applica entrambi in modo indipendente — un utente può fare poche richieste che consumano ciascuna un contesto enorme, oppure inondare l'endpoint con richieste minuscole."

Rate Limiting e Gestione dei Crediti: Protezione Contro i Costi Incontrollati

L'utilizzo incontrollato degli LLM è uno dei modi più veloci per ricevere una bolletta cloud scioccante. Un AI Gateway ben configurato applica molteplici livelli di protezione:

  • Budget di token per utente — Ogni utente autenticato riceve un'allocazione di crediti; le richieste che superano il loro budget vengono rifiutate con un errore chiaro, non addebitate silenziosamente.
  • Rate limit per endpoint — Un percorso /api/chat può essere limitato a, ad esempio, 20 richieste al minuto per IP, indipendentemente dal volume di token.
  • Limite di spesa globale — Un tetto massimo sulla spesa totale per periodo di fatturazione; il gateway restituisce un 503 una volta raggiunto il limite piuttosto che lasciare che i costi si accumulino.
  • Peso del costo del modello — Il gateway sa che una chiamata GPT-4o costa ~15× una chiamata GPT-4o mini e deduce i crediti proporzionalmente, non solo in base al conteggio delle richieste.

Best Practice per la Gestione dei Segreti: Chiavi Fuori dal Codice, Sempre

Il modello standard del settore per i segreti nelle app alimentate da LLM:

  1. Conserva i segreti in un vault crittografato — Usa un gestore di segreti (AWS KMS, HashiCorp Vault o un equivalente nativo della piattaforma) dove i valori sono crittografati a riposo e controllati dall'accesso tramite policy IAM.
  2. Inietta a runtime, non durante la build — I segreti devono essere risolti quando il Lambda o il container si avvia, non incorporati nell'immagine Docker o nell'output di build di Next.js.
  3. Non registrare mai i valori dei segreti — Assicurati che il gateway e le pipeline di logging dell'app oscurino qualsiasi header che potrebbe contenere un bearer token.
  4. Ruota senza downtime — Una corretta configurazione vault + gateway ti permette di ruotare una chiave aggiornando una sola voce; il gateway recupera il nuovo valore al suo prossimo ciclo di aggiornamento delle credenziali senza ridistribuire la tua app.

Come Integro un AI Gateway nella Mia Web App Esistente?

Ecco una guida pratica per un'app Next.js:

Passo 1 — Definisci una route API lato server

Crea app/api/chat/route.ts. Questa route riceve il prompt dell'utente dal browser e lo inoltra al tuo endpoint gateway — mai direttamente a OpenAI.

// app/api/chat/route.ts
export async function POST(req: Request) {
  const { messages } = await req.json();

  const response = await fetch(process.env.AI_GATEWAY_URL + "/chat", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${process.env.AI_GATEWAY_TOKEN}`,
    },
    body: JSON.stringify({ model: "auto", messages }),
  });

  // Trasmetti la risposta al browser in streaming
  return new Response(response.body, {
    headers: { "Content-Type": "text/event-stream" },
  });
}

Nota: AI_GATEWAY_TOKEN è un token di breve durata che autentica la tua app al gateway — non una chiave OpenAI. La chiave OpenAI vive solo all'interno del gateway.

Passo 2 — Conserva le credenziali del gateway in modo sicuro

AI_GATEWAY_URL e AI_GATEWAY_TOKEN vanno nel tuo archivio di segreti, non nel tuo .env.local (che può essere accidentalmente committato) e assolutamente non nelle variabili NEXT_PUBLIC_. Questi valori vengono iniettati nell'ambiente Lambda/container a runtime.

Passo 3 — Imposta le regole di routing e budget nella configurazione del gateway

Nel tuo dashboard del gateway, definisci una regola di routing:

  • Richieste con tag model: "auto" → instrada a GPT-4o mini per impostazione predefinita; scala a GPT-4o se il prompt supera i 2.000 token.
  • Budget per utente autenticato: 50.000 token/giorno.
  • Fallback: se OpenAI restituisce 429, riprova una volta su Claude 3.5 Haiku.

Passo 4 — Verifica che nessuna chiave appaia nell'output di build

Esegui next build e cerca nella directory .next qualsiasi stringa corrispondente al pattern di prefisso delle tue chiavi upstream. Dovrebbero esserci zero risultati — perché non sono mai entrate nel pipeline di build di Next.js.

Casi d'Uso Reali che Beneficiano del Routing Centralizzato del Modello

  • Chatbot AI — Instrada le chiacchiere casuali a un modello veloce ed economico e passa a un modello di ragionamento quando l'utente pone una domanda complessa a più passaggi.
  • Generatori di contenuti — Uno strumento per bozze di blog può instradare separatamente la generazione di titoli (rapida, a basso token) dalla generazione di articoli completi (alto token, critica per la qualità).
  • Assistenti per form intelligenti — Un assistente di compilazione automatica che chiama un LLM a ogni pressione di tasto necessita di un rate limiting aggressivo; il gateway lo applica senza modifiche al codice applicativo.
  • SaaS multi-tenant — Diversi livelli di abbonamento ottengono allocazioni di crediti diverse applicate al gateway, così il tuo livello applicativo rimane indipendente dal tier.

Quali AI Gateway Sono i Migliori per lo Sviluppo di Web App?

La scelta giusta dipende dal tuo stack e dalle preferenze di controllo. Le opzioni degne di nota includono:

GatewayIdeale perCaratteristica chiave
PortkeySaaS in produzioneOsservabilità, fallback, caching
LiteLLMSelf-hosted / OSSAmpio supporto provider, deploy locale
OpenRouterRouting multi-modelloAPI unica, molti provider
Gateway integrato nella piattaformaStartup senza configurazioneZero overhead di gestione credenziali

Se stai sviluppando su FloopFloop, la piattaforma include un AI Gateway integrato che gestisce automaticamente il routing del modello, i rate limit e la gestione dei crediti. La tua app Next.js generata chiama il gateway tramite un endpoint gestito — nessuna configurazione di chiavi API richiesta da parte tua, e nessuna chiave appare mai nel codice generato o nei log di build.

Conclusione

Un AI Gateway per web app non è un componente aggiuntivo opzionale per i grandi team — è il livello fondamentale di sicurezza e controllo dei costi di cui ogni app alimentata da LLM ha bisogno prima di vedere utenti reali. Centralizzando le credenziali, applicando budget di token per utente e astraendo la selezione del modello dietro uno strato di routing, ottieni un sistema che è simultaneamente più sicuro, meno costoso da gestire e più facile da evolvere man mano che il panorama dei modelli cambia. Inizia con l'integrazione in quattro passi descritta sopra, metti al sicuro la gestione dei tuoi segreti e lascia che il gateway si faccia carico del peso operativo della gestione LLM multi-provider.

Domande frequenti

Cos'è un AI Gateway e come funziona?

Un AI Gateway è uno strato proxy distribuito tra la tua web application e i provider LLM come OpenAI o Anthropic. La tua app invia richieste al gateway, che si autentica al provider upstream usando credenziali conservate in modo sicuro sul server, applica regole di routing e rate limit, e trasmette la risposta in streaming. Il codice della tua applicazione non gestisce mai chiavi API grezze.

Quali sono i vantaggi di utilizzare un AI Gateway per le web application?

I vantaggi principali includono la gestione centralizzata dei segreti (nessuna chiave nel codice o nei log di build), costi prevedibili tramite budget di token per utente, indipendenza dal provider (cambia LLM senza modifiche al codice), logging completo di ogni chiamata LLM per l'audit, e conformità semplificata poiché tutte le credenziali risiedono in un'unica posizione crittografata e con accesso controllato.

Come si differenzia un AI Gateway da un API gateway tradizionale?

Un API gateway tradizionale gestisce routing HTTP, autenticazione e throttling per i propri servizi. Un AI Gateway estende questo con funzionalità native per LLM: applicazione del budget di token, selezione del modello per costo o latenza, routing di fallback con consapevolezza del provider e supporto allo streaming di prima classe. Spesso hai bisogno di entrambi in uno stack di produzione, ma risolvono problemi diversi.

Un AI Gateway può aiutare a gestire più provider LLM?

Sì — la gestione multi-provider è uno dei motivi principali per utilizzare un AI Gateway. Definisci regole di routing (es. usa GPT-4o mini per prompt brevi, Claude 3.5 Sonnet per ragionamento complesso) e regole di fallback (riprova su Anthropic se OpenAI restituisce un 429). Cambiare o aggiungere provider richiede una modifica alla configurazione nel gateway, non una modifica al codice nella tua app.

Come tengo le chiavi API fuori dall'output di build di Next.js?

Conserva le credenziali LLM in un vault di segreti crittografato e iniettale come variabili d'ambiente a runtime nel tuo Lambda o container — non durante lo step di build di Next.js. La tua app dovrebbe contenere solo un token gateway di breve durata, non la chiave del provider upstream. Dopo la build, cerca nella directory .next i prefissi delle chiavi per confermare che nulla sia trapelato nell'artefatto di build.

Condividi questo articolo

Iscriviti alla newsletter di FloopFloop

Nuovi articoli, aggiornamenti del prodotto e qualche lezione occasionale — direttamente nella tua casella di posta.

Non condivideremo mai la tua email. Puoi annullare l'iscrizione in qualsiasi momento.

Articoli correlati