Cos'è Gestione API di Azure?

Completato

Si inizierà con una panoramica rapida di Gestione API di Azure e delle funzionalità principali. Questa panoramica potrà essere utile per decidere se Gestione API di Azure è una soluzione adatta per ridurre la complessità delle API dell'azienda.

Che cos'è la gestione del ciclo di vita delle API?

La gestione del ciclo di vita delle API è il processo di amministrazione di un'API per il suo intero ciclo di vita, dalla progettazione e creazione fino all'obsolescenza e al ritiro. Ai fini di questo modulo, verranno esaminate le API dopo che sono già state progettate, codificate e distribuite. È possibile concentrarsi sulle altre attività di gestione del ciclo di vita delle API, tra cui:

  • Offerta della documentazione dell'API, test ed esempi di codice.
  • Onboarding e off-boarding degli utenti.
  • Gestione delle sottoscrizioni API e distribuzione delle chiavi di sottoscrizione.
  • Implementazione delle revisioni dell'API in modo controllato e sicuro.
  • Gestione di più versioni di un'API.
  • Implementazione dei controlli di accesso alle API, ad esempio l'autenticazione e i limiti di frequenza delle chiamate.
  • Creazione di report sulle API per l'utilizzo, gli errori e così via.
  • Gestione dell'analisi per l'azienda e per gli sviluppatori che usano le API.

Definizione di Gestione API di Azure

Gestione API di Azure è un servizio cloud che offre una piattaforma per la pubblicazione, la protezione, la gestione e l'analisi di tutte le API aziendali. Gestione API di Azure consente di eseguire queste attività offrendo tre componenti principali:

  • Gateway
  • Interfaccia di amministrazione
  • Portale per sviluppatori

The main components of Azure API Management include the administration interface, gateway, and developer portal.

Importante

Gestione API di Azure non ospita le API effettive. Le API rimangono nella posizione in cui sono state originariamente distribuite. Al contrario, Gestione API di Azure funziona come una sorta di facciata o "frontdoor" per le API. In questo modo, Gestione API di Azure disaccoppia le API consentendo di impostare i criteri API e altre opzioni di gestione in Azure, lasciando invariate le API back-end distribuite.

Gateway

Il gateway di Gestione API di Azure è un endpoint di Azure che accetta tutte le chiamate da tutte le API. Il gateway:

  • Verifica le chiavi di sottoscrizione e altre credenziali delle API.
  • Applica le quote di utilizzo e i limiti di frequenza.
  • Trasforma l'API per la compatibilità back-end.
  • Instrada ogni chiamata al server back-end appropriato.
  • Memorizza nella cache le risposte back-end.
  • Raccoglie i metadati delle chiamate per i carichi di lavoro di analisi.

Interfaccia di amministrazione

L'interfaccia di amministrazione di Gestione API di Azure è un insieme di pagine e di strumenti del portale di Azure che consentono di amministrare il servizio e le API. Oltre al provisioning, al ridimensionamento e al monitoraggio del servizio, è possibile usare l'interfaccia amministrativa per:

  • Definizione o importazione delle specifiche delle API
  • Implementazione dei criteri di utilizzo come quote e limiti di frequenza
  • Impostazione dei criteri di sicurezza
  • Gestione degli utenti
  • Inserimento delle API nei prodotti
  • Definizione delle trasformazioni delle API
  • Gestione delle revisioni e delle versioni delle API
  • Esecuzione di analisi sui metadati delle API

Portale per sviluppatori

Il portale per sviluppatori di Gestione API di Azure è un sito Web completamente personalizzabile che consente agli sviluppatori di interagire con le API:

  • Rivedendo la documentazione per ogni API.
  • Provando un'API usando la console interattiva.
  • Rivedendo gli esempi di codice in linguaggi di programmazione diversi.
  • Effettuando la sottoscrizione a un'API e ottenendo la chiave di sottoscrizione dell'API.
  • Eseguendo analisi sull'utilizzo dello sviluppatore.

Livelli di Gestione API di Azure

Gestione API di Azure offre diversi livelli di servizio, ognuno dei quali offre un set distinto di funzionalità, capacità e prezzi. La tabella seguente riporta i livelli in ordine dal prezzo più basso al prezzo più alto e confronta alcune funzionalità chiave.

Criteri Consumo Sviluppatore Basic Standard Premium
Progettato per Utilizzo leggero Valutazione, test e altri utilizzi non di produzione Utilizzo di produzione di base Utilizzo di produzione con volumi medi Utilizzo di produzione con volumi elevati o aziendale
Cache Solo esterno 10 megabyte (MB) 50 MB 1 gigabyte (GB) 5 GB
Contratto di servizio 99,95% None 99,95% 99,95% 99,99%
Portale per sviluppatori No
Analisi predefinita No
Velocità effettiva (richieste stimate/sec) N/D 500 1,000 2500 4.000

Nota

Il prezzo per il livello Consumo è per ogni chiamata API, dove il primo milione di chiamate è gratuito e le rimanenti sono fatturate a una tariffa fissa ogni 10.000 chiamate. I prezzi per tutti gli altri livelli vengono calcolati all'ora.

Applicare i criteri alle richieste e alle risposte delle API

Uno dei problemi principali relativi alla presenza di più API pubblicate è che ogni API richiede un set di criteri separato. In questo contesto un criterio è un'impostazione o un'azione che controlla il comportamento dell'API. Ad esempio, se si vuole applicare un limite di frequenza (il numero massimo di chiamate API consentito da una singola origine in un determinato periodo di tempo), è necessario includere il limite come parte dei criteri per un'API. Il limite di quota e solo un esempio, ma è possibile applicare numerosi criteri. Se questa operazione viene eseguita per più API diverse, la gestione diventa estremamente complessa.

Gestione API di Azure risolve il problema dei criteri delle API consentendo di impostare i criteri per tutte le API in un'unica posizione, ovvero l'interfaccia di amministrazione di Gestione API di Azure. Con Gestione API di Azure, è possibile impostare i criteri in numerose categorie. Un elenco parziale comprende:

  • Restrizione dell'accesso. Questi criteri determinano dove una richiesta API è consentita tramite il gateway. Ad esempio, è possibile applicare limiti di frequenza e quote di utilizzo, filtrare gli IP chiamanti e verificare la presenza di un token JSON Web valido.
  • Autenticazione. È possibile autenticare una chiamata API, ad esempio, usando l'autenticazione di base, un certificato client o un'identità gestita.
  • Memorizzazione nella cache. È possibile migliorare le prestazioni dell'API archiviando e recuperando le risposte nella cache.
  • Convalida. Convalidare le chiamate API confrontando determinati parametri con gli elementi nella specifica dell'API. Ad esempio, è possibile convalidare il corpo della richiesta o della risposta, i parametri dell'intestazione della richiesta e le intestazioni delle risposte.

Combinare in modo flessibile i criteri nelle definizioni dei criteri che sono documenti XML costituiti da una serie di istruzioni, ognuna delle quali rappresenta un criterio e i relativi parametri. Le definizioni dei criteri consentono di configurare criteri separati in fasi diverse della pipeline di risposta alle richieste API:

A consumer's API request enters the Azure API Management gateway where it passes through inbound policies before being sent to the backend server. The API response then passes through the gateway's outbound policies before being sent to the originating API consumer.