Un gateway API è un modello software che si trova di fronte a un'interfaccia di programmazione dell'applicazione (API) o a un gruppo di microservizi, per facilitare le richieste e la consegna di dati e servizi. Il suo ruolo principale è quello di fungere da punto di ingresso unico e processo standardizzato per le interazioni tra app, dati e servizi di un'organizzazione e clienti interni ed esterni. Il gateway API può anche eseguire varie altre funzioni per supportare e gestire l'utilizzo dell'API, dall'autenticazione alla limitazione della velocità all'analisi.
Queste ampie funzionalità rendono il gateway API un elemento essenziale di una strategia API aziendale.
Come funziona un gateway API?
Le API consentono ad applicazioni separate di comunicare tra loro e di scambiare dati all'interno e all'esterno di un'azienda. Il gateway API fornisce un punto focale e un'interfaccia standard per eseguire queste attività. Riceve richieste da fonti interne ed esterne, chiamate "chiamate API", e impacchetta più richieste, le instrada all'API o alle API appropriate e riceve e fornisce le risposte all'utente o al dispositivo che ha effettuato la richiesta.
I gateway API sono anche la chiave di un'architettura basata su microservizi, in cui le richieste di dati richiamano numerose applicazioni e servizi che utilizzano API multiple e disparate. In questo caso il ruolo del gateway API è simile: fornire un unico punto di ingresso per un gruppo definito di microservizi e applicare criteri per determinarne la disponibilità e il comportamento.
I gateway API spesso gestiscono altre funzioni coinvolte con API e microservizi:
- traduzione del protocollo
- rilevamento dei servizi
- logica aziendale di base
- autenticazione e applicazione delle policy di sicurezza
- stabilizzazione e bilanciamento del carico
- gestione della cache
- monitoraggio, registrazione e analisi
Gateway API e proxy API. Un'alternativa al gateway API è un proxy API, che è fondamentalmente un sottoinsieme di un gateway API che fornisce un'elaborazione minima per le richieste API. Il proxy API gestisce la comunicazione, inclusa la traduzione del protocollo, tra piattaforme software specifiche, come un endpoint proxy e un'API di destinazione. Può anche controllare il flusso di traffico tra i punti di invio e di ricezione. Tuttavia, i gateway API in genere possiedono migliori capacità di analisi e monitoraggio delle prestazioni.
Questo articolo fa parte di
Guida alla creazione di una strategia API aziendale
- Che include anche:
- 5 motivi principali per adottare una piattaforma di gestione delle API
- 10 linee guida sulla sicurezza delle API e best practice
- Elenco di controllo e best practice per il test delle API
Scaricare1
Scarica subito l'intera guida GRATUITAMENTE!
Gateway API e mesh di servizi. In sostanza, il mesh di servizi facilita anche le comunicazioni da e verso i servizi di un'azienda con alcune funzionalità di bilanciamento del carico e altre funzionalità. Tuttavia, una mesh di servizi in genere gestisce le comunicazioni interne e il suo ruolo è a livello di gestione della rete; un gateway API facilita le interazioni con utenti e dispositivi esterni, nonché fonti interne, e risiede a livello dell'applicazione. In questo modo i loro ruoli possono essere complementari: i gateway API possono essere un punto di ingresso in una mesh, ad esempio, mentre alcuni gateway API offrono plug-in per formare essi stessi una mesh di servizi.
Un diagramma del modello di gateway API di base
Chi utilizza i gateway API e perché?
Il gateway API è il punto focale per la messaggistica API, per organizzare e semplificare l'attività e gli scambi API con i clienti interni ed esterni. Tale gestione e supervisione consente inoltre a un'azienda di vedere e controllare un ampio ambito di API e integrazioni centralmente, piuttosto che tentare di monitorare e gestire le API individualmente. I gateway API in genere includono funzionalità di monitoraggio e registrazione per registrare e analizzare le chiamate e le risposte al fine di garantire la sicurezza e valutare gli errori.
I gateway API possono supportare anche altre funzionalità che regolano le API. Ad esempio, i responsabili delle politiche utilizzano istruzioni logiche gestite tramite un gateway API per determinare la disponibilità e il comportamento dell'API, ad esempio il modo in cui controlla il flusso di dati o limita le chiamate e la velocità effettiva delle chiamate API.
Le organizzazioni che hanno adottato un'architettura basata su microservizi si affidano in modo simile ai gateway API per facilitare le comunicazioni tra questi servizi.
I gateway API svolgono anche un ruolo per aiutare a semplificare l'integrazione B2B come alternativa agli approcci legacy come i servizi di scambio di dati elettronici.
Vantaggi e sfide dei gateway API
Il vantaggio principale di un gateway API è che standardizza e centralizza la fornitura di servizi tramite API o microservizi. Oltre a ciò, i gateway API aiutano anche a proteggere e organizzare le integrazioni basate su API di un'organizzazione in diversi modi.
- Semplifica l'erogazione dei servizi. I gateway API possono combinare più chiamate API per richiedere e recuperare dati e servizi, riducendo il volume delle richieste e del traffico. Ciò semplifica il processo API e può migliorare l'esperienza dell'utente, in particolare per le applicazioni mobili.
- Fornire flessibilità. I gateway API sono altamente configurabili. Gli sviluppatori possono incapsulare la struttura interna di un'applicazione in più modi, per richiamare più servizi di back-end e aggregare i risultati.
- Estendi le applicazioni legacy. Le aziende che fanno affidamento su applicazioni legacy possono utilizzare gateway API per lavorare con tali app e persino estenderne le funzionalità, in alternativa a una migrazione più ampia e complicata (e costosa).
- Contribuire al monitoraggio e all'osservabilità. La maggior parte delle organizzazioni si affida a strumenti specifici per il monitoraggio dell'attività tramite API, ma un gateway API può aiutare a supportare questi sforzi. I registri del gateway API possono aiutare a individuare un problema durante un evento di errore di monitoraggio.
Il gateway API è il gatekeeper tra i consumatori e i fornitori di API e questo ampio ruolo presenta sfide uniche.
- Affidabilità e resilienza. Qualsiasi danno o ostacolo alla funzionalità del gateway API può causare il fallimento dei servizi associati. Le aziende devono diffidare di aggiungere funzionalità che influiscono sulle prestazioni, soprattutto perché il gateway API rappresenta un passaggio di processo aggiuntivo tra clienti e applicazioni o dati.
- Sicurezza. Il gateway API è una fonte affidabile che tocca molti angoli dell'attività di un'azienda. Se è compromesso, questo è potenzialmente un problema di sicurezza grave e di vasta portata. Le aziende dovrebbero separare attentamente le interfacce esterne dalle API e dai sistemi interni e definire i parametri di autenticazione e autorizzazione.
- Complessità e dipendenze. Gli sviluppatori devono aggiornare il gateway API ogni volta che un'API o un microservizio viene aggiunto, modificato o eliminato. Ciò è particolarmente impegnativo in un modello in cui poche applicazioni potrebbero diventare dozzine o centinaia di microservizi. La creazione e il rispetto delle regole di progettazione di API e microservizi possono aiutare a mitigare questi problemi.
Quali sono i diversi tipi di prodotti gateway API?
Data l'importanza centrale del gateway API nell'odierna economia delle API, molti provider offrono gateway API come strumenti autonomi o funzionalità in bundle in piattaforme di gestione API più ampie.
Esempi di fornitori di piattaforme di gestione API che incorporano qualche tipo di funzionalità di gateway API includono Akana, Mulesoft, Postman, Tibco, Workato e altri.
Le organizzazioni possono anche ottenere e utilizzare separatamente alcuni strumenti gateway API. Gli esempi includono Apigee (ora parte di Google Cloud), Express Gateway, Kong Gateway, Oracle API Gateway e Tyk API Gateway.
I principali provider di cloud pubblico offrono piattaforme di gestione delle API: AWS API Gateway, Microsoft Azure API Management e Google Cloud Endpoints. Offrono anche strumenti gateway API specifici per le loro piattaforme: Amazon API Gateway, Azure API Gateway e Google Cloud API Gateway (in beta a partire da gennaio 2021).
Fattori da considerare quando si valuta un gateway API. Le aziende dovrebbero valutare diversi criteri quando scelgono un gateway API, inclusi i seguenti:
- Proprietario contro open source. Un'azienda che valuta il gateway API di un fornitore potrebbe già utilizzare altri prodotti di quel fornitore. Gli esempi includono Oracle o i principali provider di cloud pubblico (AWS, Microsoft Azure, Google Cloud). D'altra parte, molte aziende si sentono a proprio agio con strumenti open source e supporto interno.
- Architettura. Alcuni strumenti gateway API enfatizzano la semplicità, mentre altri enfatizzano l'estensibilità. Spesso supportano anche diversi sistemi di database, come PostgreSQL, Cassandra, Redis o MongoDB. Come affermato in precedenza, le aziende che si affidano già a un determinato provider cloud potrebbero preferire il gateway API di quel provider.
- Personalizzazione. Alcuni gateway API, in particolare le opzioni open source, possono offrire più capacità di personalizzazione, che richiedono competenze interne. Tuttavia, alcuni gateway API si basano su diversi linguaggi di programmazione, come Golang o Lua. Garantire che le competenze del personale IT siano in linea con tali requisiti. L'uso di plugin può in parte mitigare questo problema.