Cos'è un ecosistema API?

Una pianta con rami intrecciati

Spiegazione dell'ecosistema API

L'ecosistema API si riferisce a una rete di application programming interface (API) interconnesse e a tutti gli elementi associati. Questi elementi includono i team che li costruiscono e distribuiscono, gli sviluppatori che li utilizzano, le applicazioni, i database e le piattaforme che si affidano alle API per lo scambio di dati, i portali per sviluppatori e le strutture di sicurezza e governance che facilitano un'integrazione sicura e preziosa.

Un focus sull'ecosistema API è utile sia come parte della trasformazione digitale di un'organizzazione sia nella formazione di strategie API e modelli di business API-first . Costruendo con l'ecosistema come centro di attenzione, piuttosto che solo l'API stessa, le organizzazioni possono creare vantaggi strategici e di business, tra cui migliori esperienze del cliente, riduzione della diffusione delle API, maggiore sicurezza IT e maggiore efficienza nello sviluppo dell'applicazione.

Quali sono i componenti chiave di un ecosistema API?

I componenti chiave di un ecosistema API possono generalmente essere suddivisi in tre categorie principali: tecnologie (API e infrastrutture associate), persone (fornitori, consumatori e comunità) e governance (standard, politiche, sistemi di supporto e asset).

Tecnologie: API e infrastrutture di supporto

Ci sono diversi componenti dell'infrastruttura tecnica di un ecosistema API, tutti collegati in vari modi come una ragnatela. Le API stesse sono i thread radiali che collegano tra loro parti del web, mentre API gateway, database, applicazioni e servizi e altre infrastrutture formano intersezioni, hub e frame del web.

API

Un'API è un insieme di regole o protocolli che consente ai programmi software di comunicare tra loro per scambiare dati, caratteristiche e funzionalità. Le API consentono ai proprietari di applicazioni di rendere disponibili i loro dati e servizi ai consumatori interni ed esterni in modo semplice e sicuro.

Le API sono oggi sempre più vitali per gli utenti aziendali; le aziende hanno, in media, oltre 600 endpoint API in produzione e intere aziende hanno iniziato come API, comprese le società di elaborazione dei pagamenti, le società di arricchimento dei dati e-mail e le società di servizi finanziari.  

API gateway

Un API gateway è un livello software che offre un unico punto di ingresso per i clienti (come applicazioni web o mobili) per accedere a più servizi backend, gestendo contemporaneamente le interazioni client/server.

Gli API gateway ricevono una chiamata API, talvolta nota come richiesta API, e la instradano verso uno o più servizi backend, a seconda della natura della richiesta. Il gateway poi compila i dati richiesti e li restituisce al client in una singola risposta. I gateway permettono ai client di interrogare più risorse in una singola chiamata, invece di dover interrogare più endpoint con più chiamate.

Ad esempio, un API gateway che orchestra i servizi in un sistema sanitario potrebbe permettere a un'applicazione di estrarre dati da più risorse, come le cartelle cliniche del paziente, la cronologia dei pagamenti e la programmazione attuale, con una singola chiamata API.

Gli API gateway centralizzano anche altre attività critiche, come ad esempio:

  • Bilanciamento del carico: distribuzione del traffico per evitare il sovraccarico di un singolo server.

  • Rate limiting: limitare il numero di richieste per utente per ridurre il rischio di certi tipi di attacchi, come gli attacchi DDoS (Distributed Denial-of-Service), che si basano su un eccesso di traffico per sovraccaricare i protocolli di sicurezza.

  • Autenticazione: utilizzo di metodi e protocolli di verifica come OAuth (Open Authorization) per assegnare token di accesso, consentendo accessi temporanei e specifici.

Database

I database sono parte integrante di un ecosistema API: memorizzano i dati non elaborati di cui le applicazioni hanno bisogno per funzionare. Le API fungono da intermediarie e quindi consentono alle applicazioni di interagire con i database in modo stabile e sicuro. Le API forniscono l'interfaccia che consente alle applicazioni di eseguire operazioni, come creare, leggere, aggiornare o eliminare (CRUD), nel database.

Le API forniscono anche un livello di sicurezza attraverso l'autenticazione e la convalida dell'accesso, per garantire che le risorse siano accessibili solo ai clienti autorizzati. E le API apportano interoperabilità al sistema, consentendo alle applicazioni scritte in diversi linguaggi di programmazione o costruite su piattaforme diverse di accedere agli stessi database.

Applicazioni e servizi

Le applicazioni sono la parte tecnologica front-end dell'intero ecosistema API; sono applicazioni, come app mobili, web app o software desktop, con cui un utente, sia digitale che umano, interagisce (piuttosto che con l'API stessa).

All'interno dell'applicazione, un utente può selezionare un'azione che richiede all'applicazione di raggiungere una fonte esterna di dati o servizi per completare l'azione. Questo scambio avviene tramite API. Una richiesta, spesso definita chiamata o query API, viene inviata all'API, che indirizza la richiesta al servizio di backend responsabile della risorsa richiesta. I dati richiesti vengono poi restituiti al client tramite l'API.

Microservizi

I microservizi, o architettura di microservizi, sono un approccio alla creazione di applicazioni che suddivide un'applicazione in molti servizi indipendenti che possono essere creati e gestiti separatamente. I microservizi non sono "piccoli servizi", ma un approccio architettonico all'integrazione di molti servizi in un'unica applicazione. I microservizi sono utili per la loro flessibilità, permettendo di scalare e riutilizzare i servizi in modo indipendente.

Questi servizi lavorano tutti insieme, spesso comunicando tramite API o tramite una service mesh. Le API sono inoltre utilizzate per collegare i microservizi ad applicazioni e sistemi esterni, consentendo interoperabilità e integrazione senza interruzioni.

In molti casi, un API Gateway viene utilizzato davanti a questi servizi per rispondere alle richieste API in arrivo, instradarle al servizio (o più servizi) appropriato e restituire la risposta al client in un'unica risposta completa.

Pipeline CI/CD

Le pipeline di integrazione continua/fornitura continua (CI/CD) fanno parte dell'ecosistema perché queste pipeline vengono spesso utilizzate per sviluppare, distribuire e aggiornare API.

Una pipeline CI/CD è un workflow che automatizza il processo di scrittura, integrazione, test e distribuzione del codice. Gli sviluppatori possono scrivere codice in autonomia, tenendo traccia delle modifiche con strumenti come Git, e il codice si sposta automaticamente attraverso la pipeline per i test e la convalida. Il codice convalidato viene quindi integrato in ambienti di test o repository come GitHub. La pipeline CI/CD è un modo per ridurre i tempi di sviluppo di API o software, ridurre i costi, rilevare tempestivamente gli errori e migliorare la collaborazione tra i team.

La pipeline CI/CD non è visibile all'utente finale; è una metodologia comune utilizzata per spostare il codice dallo sviluppo all'implementazione e per migliorare continuamente software e API attraverso aggiornamenti regolari.

Portale dello sviluppatore

Il portale dello sviluppatore è un hub che contiene tutto ciò di cui uno sviluppatore potrebbe aver bisogno per comprendere, usare, integrare e ottimizzare le API. È una parte fondamentale dell'ecosistema API complessivo. Un portale dello sviluppatore include tipicamente la maggior parte o tutti i seguenti elementi:

  • Documentazione API: un archivio di tutti gli endpoint API, i metodi HTTP e i parametri di richiesta, i codici di errore, gli esempi di richiesta e risposta, le credenziali di autenticazione e altre informazioni sull'API.

  • Guide e tutorial: una selezione di documenti utili per iniziare, spesso con esempi e best practice.

  • Strumenti interattivi: un playground o sandbox in cui gli sviluppatori possono provare l'API senza dover scrivere alcun codice.

  • Analytics: una dashboard per gli sviluppatori, che consente di monitorare l'utilizzo dell'API, compreso il volume delle chiamate, i tempi di risposta, i limiti di velocità, le quote di utilizzo e altre metriche.

  • Supporto: una selezione di documenti utili come FAQ, change log, white paper, webinar, note di aggiornamento e informazioni di contatto.
API Management platform

Le API management platform sono come la versione interna del portale dello sviluppatore esterno. Un sistema di API management offre controlli ai team responsabili della supervisione delle API, con strumenti per il rilascio e la dismissione lungo tutto il ciclo di vita delle API, la gestione del traffico, il monitoraggio degli errori, l'applicazione delle policy di sicurezza e governance e, spesso, la gestione della fatturazione e degli abbonamenti.

Persone: fornitori, consumatori, community

L'elemento umano dell'ecosistema API può anch'esso essere suddiviso in tre gruppi:

Fornitori

I fornitori di API sono le persone e i team responsabili della creazione e pubblicazione delle API al centro dell'ecosistema. Potrebbero includere:

  • Sviluppatori che scelgono i framework, scrivono il codice, creano, configurano e costruiscono endpoint API, e trovano e riparano bug, tra gli altri compiti.

  • I product manager che dirigono il team di sviluppo API, ponendosi e rispondendo alle domande fondamentali, come ad esempio: "A chi è destinato?", "Cosa dovrebbe fare?", "Come si integra nel nostro ambiente IT esistente?" e "Quali caratteristiche deve avere?". I product manager API spesso gestiscono le partnership e fungono da collegamento tra gli sviluppatori e gli altri stakeholder.

  • Ingegneri DevOps che aiutano a costruire e automatizzare pipeline di integrazione continua/fornitura continua (CI/CD),workflow DevOps automatizzati utilizzati per semplificare la consegna, il testing e l'ottimizzazione delle API.

  • Ingegneri della sicurezza specializzati nella protezione contro violazioni dei dati e altre minacce alla sicurezza. Le API sono progettate per esporre dati, seppur in modo limitato, il che le rende un vettore comune di attacco. Gli ingegneri della API security svolgono un ruolo fondamentale nella protezione delle API e delle applicazioni e dei sistemi a cui sono connesse.

Consumatori

Si tratta degli sviluppatori che utilizzano le API per integrare applicazioni e sistemi e creare nuovi prodotti e servizi. I consumatori di API sono una parte cruciale dell'ecosistema. Dopotutto, è proprio questo gruppo che l'API è progettata per servire.

I consumatori possono essere interni, parte della stessa organizzazione che fornisce l'API, esterni con accesso limitato, oppure consumatori pubblici con pieno accesso. Il design e la documentazione delle API possono variare a seconda di chi è l'utente previsto.

Ad esempio, un'esperienza utente più autoesplicativa può essere vantaggiosa per una API pubblica, poiché l'organizzazione che la fornisce potrebbe voler ridurre la necessità di attività estese di troubleshooting e supporto.

Community

Soprattutto per le API pubbliche, la community (un gruppo più ampio che comprende consumatori e altri stakeholder) può essere una parte vitale dell'intero ecosistema delle API. La community è tipicamente composta da sviluppatori interni, contributori open source e hobbisti, business partner e utenti quotidiani delle applicazioni che si affidano all'API per accedere a dati o servizi. La community può svolgere un ruolo nel migliorare e innovare un'API attraverso:

  • Creazione o scoperta di nuovi casi d'uso per un'API

  • Monitoraggio, individuazione di bug, errori o opportunità di miglioramento

  • Creazione di un sistema ad hoc di supporto e documentazione su piattaforme come Reddit, Stack Overflow e GitHub

  • Assistenza a consolidare e perpetuare le best practice e altri standard

  • Promozione di un'API ad altri sviluppatori, utenti e clienti

Governance delle API

Per governance delle API si intende l'insieme di i criteri, policy e pratiche che informano il modo in cui un'organizzazione sviluppa, distribuisce e utilizza le proprie API. L'obiettivo della creazione della governance delle API è promuovere coerenza, affidabilità, sicurezza ed efficienza.

La governance delle API può includere guide di stile, politiche di sicurezza, convenzioni di denominazione, strategie di versioning, standard di qualità, politiche di risposta a incidenti e disastri e altro ancora. Per molti settori, inclusa la sanità, la governance include anche decisioni di conformità legale, come i requisiti HIPAA o altre normative specifiche per settore o regione.

I benefici di un solido ecosistema API

Un ecosistema API di successo offre benefici significativi sia alle aziende che agli sviluppatori:

Benefici aziendali

  • Innovazione più rapida: le aziende possono basarsi sui servizi esistenti, accelerando il time-to-market dei nuovi prodotti.

  • Portata estesa: gli sviluppatori di terze parti creano integrazioni che introducono i servizi aziendali su nuove piattaforme e a nuovi utenti.

  • Mitigazione della proliferazione delle API: librerie API organizzate e la relativa documentazione aiutano i team a trovare e utilizzare i servizi esistenti, prevenendo la creazione di servizi e API ridondanti.

  • Valore aziendale e monetizzazione: le API possono diventare generatori di profitto attraverso tariffe d'uso, livelli premium o guidando l'adozione dei prodotti principali.

  • Maggiore sicurezza: un ecosistema API efficace mantiene un'applicazione coerente degli standard e dei protocolli di API security, come l'uso di OAuth. Una solida gestione dell'ecosistema contribuisce a ridurre la creazione di API ombra, ovvero API ad hoc create senza la considerazione o addirittura senza il riconoscimento dei team IT.

  • Vantaggi competitivi ed effetti di rete: l'integrazione di API aziendali da parte di sviluppatori esterni aumenta i costi di transizione e crea effetti di fidelizzazione e blocco. Più gli sviluppatori costruiscono su una piattaforma, più essa diventa preziosa, creando un ciclo auto-rinforzante difficile da superare per i concorrenti.

Benefici per gli sviluppatori

  • Riduzione della complessità: accedi a funzionalità sofisticate tramite interfacce semplici senza una profonda conoscenza del settore.

  • Concentrazione sulla differenziazione: concentrati sulla creazione di caratteristiche uniche piuttosto che sull'infrastruttura di base.

  • Componibilità: utilizza i servizi di diversi fornitori per creare nuove, innovative applicazioni.

  • Flessibilità di carriera: trasferisci le competenze con le API più diffuse tra aziende e progetti.
Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Soluzioni correlate
IBM API Connect

Sviluppa, gestisci, proteggi e socializza senza soluzione di continuità tutti i tipi di application programming interface (API), ovunque si trovino.

Esplora API connect
Soluzioni di integrazione IBM

Potenzia la tua azienda tramite una connettività e un'automazione senza soluzione di continuità con il software della piattaforma di integrazione.

Esplora le soluzioni di integrazione IBM
Servizi di consulenza cloud

Sblocca tutto il potenziale dell'hybrid cloud nell'era dell'agentic AI.

Esplora la consulenza sul cloud
Fasi successive

IBM API Connect supporta tutti i tipi di application programming interface (API) moderne, rafforzando la sicurezza e la governance. Le funzionalità di AI generativa (gen AI) automatizzano le attività manuali, facendo risparmiare tempo e garantendo la qualità. 

  1. Esplora IBM API Connect
  2. Esplora le soluzioni di integrazione IBM