Esplorare i gateway API

Completato

La soluzione può contenere diversi servizi front-end e back-end. In questo caso, in che modo un client riconosce gli endpoint da chiamare? Che cosa accade in caso di introduzione di nuovi servizi o di refactoring dei servizi esistenti? Come vengono gestiti dai servizi la terminazione SSL, l'autenticazione e altri aspetti?

Il gateway Gestione API (chiamato anche piano dati o runtime) è il componente del servizio responsabile di inoltrare le richieste API, applicare i criteri e raccogliere i dati di telemetria.

Un gateway API si trova tra i client e i servizi. e funge da proxy inverso, indirizzando le richieste dai client ai servizi. Può anche eseguire varie attività trasversali come l'autenticazione, la terminazione SSL e la limitazione della frequenza. Se non si distribuisce un gateway, i client devono inviare le richieste direttamente ai servizi back-end. L'esposizione diretta dei servizi ai client, tuttavia, presenta alcuni potenziali problemi:

  • Può determinare codice client complesso. Il client deve tenere traccia di più endpoint e gestire gli errori in modo resiliente.
  • Crea un accoppiamento tra client e back-end. Il client deve sapere come vengono scomposti i singoli servizi. Ciò rende più difficile la gestione dei client e anche l'esecuzione del refactoring dei servizi.
  • Una singola operazione potrebbe richiedere chiamate a più servizi.
  • Ogni servizio rivolto al pubblico deve gestire problemi come autenticazione, SSL e 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 necessitano di protezione avanzata.

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

Gestito e self-hosted

Gestione API offre gateway sia gestiti che self-hosted:

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

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