Esplora i gateway API

Completato

La soluzione può contenere diversi servizi front-end e back-end. In questo scenario, in che modo un client conosce gli endpoint da chiamare? Cosa accade quando vengono introdotti nuovi servizi o quando viene eseguito il refactoring dei servizi esistenti? In che modo i servizi gestiscono la terminazione SSL, l'autenticazione e altri problemi?

Il gateway di Gestione API (detto anche piano dati o runtime) è il componente del servizio responsabile del proxy delle richieste API, dell'applicazione di criteri e della raccolta dei dati di telemetria.

Un gateway API si trova tra client e servizi. Funge da proxy inverso, indirizzando le richieste dai client ai servizi. Può anche eseguire varie attività trasversali, ad esempio l'autenticazione, la gestione SSL e la limitazione del tasso di richiesta. Se non si distribuisce un gateway, i client devono inviare richieste direttamente ai servizi back-end. Esistono tuttavia alcuni potenziali problemi con l'esposizione diretta dei servizi ai client:

  • Può comportare codice client complesso. Il client deve tenere traccia di più endpoint e gestire gli errori in modo resiliente.
  • Crea l'accoppiamento tra il client e il back-end. Il client deve sapere come vengono scomposti i singoli servizi. Ciò rende più difficile gestire il client e anche più difficile effettuare il refactoring dei servizi.
  • Una singola operazione potrebbe richiedere chiamate a più servizi.
  • Ogni servizio pubblico deve gestire problemi come l'autenticazione, l'SSL e la limitazione della frequenza dei client.
  • I servizi devono esporre un protocollo descrittivo per il client, ad esempio HTTP o WebSocket. Ciò limita la scelta dei protocolli di comunicazione.
  • I servizi con endpoint pubblici sono una potenziale superficie di attacco e devono essere rafforzati.

Un gateway consente di risolvere questi problemi separando i client dai servizi.

Gestito e autogestito

La gestione delle API offre gateway gestiti e autogestiti.

  • "Managed": Il "Managed gateway" è il componente di gateway predefinito distribuito in Azure per ogni istanza di API Management in ogni livello di servizio. Con il gateway gestito, tutto il traffico dell'API passa attraverso Azure indipendentemente dalla posizione in cui sono ospitati i back-end che implementano le API.

  • - Il gateway self-hosted è una versione facoltativa containerizzata del gateway gestito predefinito. È utile per gli scenari ibridi e multicloud in cui è necessario eseguire i gateway da Azure negli stessi ambienti in cui sono ospitati i back-end dell'API. Il gateway self-hosted consente ai clienti con l'infrastruttura IT ibrida di gestire le API ospitate in locale e tra cloud da un singolo servizio Gestione API in Azure.