Le application programming interface (API) sono inestimabili per le organizzazioni moderne, utilizzate per connettere e integrare applicazioni, sistemi e database, orchestrare flussi di lavoro, accelerare lo sviluppo e la distribuzione di nuove app e servizi, creare interfacce moderne per sistemi legacy e molto altro. L'azienda media ha oltre 613 endpoint API in produzione.
Tuttavia, se le API vengono create, implementate o incorporate in modo ad hoc, le organizzazioni rischiano di perdere valore o, peggio, di lasciare l'organizzazione vulnerabile ai rischi di cybersecurity. Una strategia API completa aiuta a garantire che un'organizzazione valorizzi pienamente le proprie API e che queste lavorino al servizio di iniziative aziendali condivise.
Newsletter di settore
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
Una strategia API è un piano di alto livello che delinea come un'organizzazione utilizzerà le API per raggiungere gli obiettivi aziendali. Stabilisce linee guida e politiche per la progettazione, lo sviluppo e la distribuzione delle API, la gestione delle API, la sicurezza e altro ancora. La strategia API aiuta a garantire che le API di un'organizzazione non esistano in modo isolato ma collaborino al servizio di esigenze e obiettivi aziendali.
Una strategia API tiene conto delle esigenze tecniche, di sicurezza e di conformità di un'organizzazione, contribuendo al contempo a promuovere un sistema sostenibile, prevedibile e centralizzato per l'implementazione di nuove API in futuro.
In breve, la strategia API aiuta le organizzazioni a progettare e gestire API più efficienti, preziose e sicure. Le funzionalità delle API sono così ampie, varie e in rapida evoluzione che gli stakeholder devono avere una strategia API concreta per mantenere la coesione, l'efficienza e l'efficacia nei progetti API.
Poiché esistono molti tipi di API (e ancora più modi di utilizzo) e svolgono un ruolo così fondamentale nelle aziende moderne, le organizzazioni devono avere una strategia API chiara e completa per mantenere l'ordine nel loro ecosistema digitale, evitare risorse sprecate e rischi di sicurezza e garantire che le loro API offrano il massimo valore aziendale possibile.
Una strategia API robusta può offrire un'esperienza migliore agli sviluppatori, migliorare compatibilità e scalabilità, aiutare le organizzazioni a monetizzare le proprie API e altro ancora. La strategia API è anche una parte importante per raggiungere obiettivi olistici come la trasformazione digitale.
La trasformazione digitale è una strategia volta a integrare la tecnologia digitale in tutta l'organizzazione. È una completa ristrutturazione di processi, prodotti, operazioni e dello stack tecnologico per consentire un'innovazione continua, rapida e guidata dal cliente. Non si tratta solo di sostituire certi processi o aggiornare i servizi; è una trasformazione aziendale completa che pone la tecnologia al centro di un'organizzazione.
Le API, e una strategia API ben strutturata, svolgono un ruolo fondamentale nel guidare questa trasformazione. Con la tecnologia al centro, sono le API che vengono spesso utilizzate per collegare le tecnologie all'interno dell'azienda e per connettere gli utenti alle applicazioni, ai sistemi e ai servizi aziendali.
Le API permettono alle organizzazioni di offrire più servizi a un numero maggiore di utenti (aprendo nuove fonti di ricavo), di rendere questi servizi più rapidi e migliorare l'esperienza utente complessiva, di facilitare lo scambio di dati tra sistemi interni, database e applicazioni, di collegare risorse ospitate su diversi provider di cloud, di modernizzare infrastrutture legacy e altro ancora.
Una strategia API aziendale solida include una documentazione API approfondita (esplora come le organizzazioni possono scoprire le API qui) che spiega chiaramente come vengono costruite e utilizzate le API di un'organizzazione. Un portale dello sviluppatore può essere uno strumento prezioso per rendere accessibili, organizzate e individuabili sia le API front-end che back-end. Senza una buona strategia API, gli sviluppatori potrebbero avere difficoltà a trovare gli strumenti necessari, il che può rallentare la produzione e l'implementazione e portare a alla ridondanza delle API e allo spreco di risorse.
Le API devono essere monitorate e aggiornate per tenere il passo con nuovi software e aggiornamenti software. Una strategia API ben sviluppata include generalmente piani per l'intero ciclo di vita dell'API: ideazione, progettazione API, test, implementazione, manutenzione e, se necessario, interruzione. Un processo di questo tipo favorisce la coerenza nella compatibilità delle API con le ultime versioni del software e riduce il rischio di crash o comportamenti imprevedibili correlati alla compatibilità.
L'evoluzione vertiginosa della tecnologia significa che quasi ogni organizzazione si affida a qualche tipo di servizio, software o database legacy. Aggiornare queste risorse è spesso costoso e richiede molto tempo.
Con l'avanzamento degli sforzi di modernizzazione, le organizzazioni possono utilizzare le API per modernizzare l'interfaccia con questi sistemi e database. Questo consente alle organizzazioni di integrare risorse legacy, e utilizzare i dati preziosi al loro interno, senza dover attendere l'aggiornamento dell'intero sistema.
Ad esempio, un enorme archivio di registri clienti potrebbe essere memorizzato in un database che non viene più utilizzato dal resto dell'azienda. Invece di migrare meticolosamente tutti quei dati in un nuovo sistema (o durante la migrazione), un'API può essere utilizzata per permettere ad altre parti del sistema di comunicare con il database e richiedere informazioni.
Una strategia API garantisce che le API siano progettate, implementate e documentate in modo da orientare l'azienda verso obiettivi dichiarati e in linea con una strategia aziendale più ampia. La strategia API aiuta a creare una roadmap per lo sviluppo API e la distribuzione e un piano che produce modelli di business più coesi e semplificati e un maggiore valore API.
Le API sono spesso utilizzate come vettore di attacco e introducono un rischio di sicurezza che deve essere affrontato. Una strategia API che descriva in dettaglio gli standard di sicurezza organizzativi e il modo in cui un'organizzazione previene l'uso improprio delle sue API può ridurre questo rischio. Strumenti come API Gateway e tecniche come l'autenticazione o il limite di velocità sono spesso soluzioni.
Il limite di velocità viene utilizzato per ridurre il rischio di attacchi di forza bruta o attacchi DDoS (Distributed Denial-of-Service). Il limite di velocità blocca o scarta le richieste che rappresentano un rischio di volume e impedisce che i sistemi vengano inondati di richieste. Esistono anche funzioni automatizzate che possono essere ancora più precise. Ad esempio, le organizzazioni possono impostare limiti di velocità per determinati indirizzi IP con un'elevata attività di richiesta che è stata segnalata come sospetta.
Le tecniche di autenticazione sono inoltre incorporate nella strategia di sicurezza API per garantire che vengano soddisfatte solo le richieste sicure e approvate. OAuth, o open authorization, è un protocollo che utilizza un token di accesso che concede agli utenti l'accesso a dati o servizi precedentemente approvati senza la necessità di effettuare il login. Le chiavi API, che sono una stringa unica di caratteri noti solo al client e al server, sono un altro strumento popolare che le organizzazioni utilizzano per mantenere sicure le API.
Le organizzazioni possono utilizzare piattaforme di test automatizzate che verificano continuamente la sicurezza del sistema per integrare e migliorare il controllo e il test manuale.
In un'architettura a microservizi, le applicazioni sono composte da molti componenti o servizi più piccoli, liberamente accoppiati e distribuibili in modo indipendente. Questi componenti spesso comunicano tramite le API.
I microservizi consentono una maggiore flessibilità e versatilità, ma possono anche aggiungere complicazioni, tra cui problemi di compatibilità, problemi di latenza dovuti a maggiori quantità di connessioni di rete e aumento della registrazione dei dati. In pratica, un'architettura a microservizi porta una maggiore libertà, ma anche un aumento della complessità.
Una strategia API aziendale aiuta a stabilire la coerenza e la rilevabilità delle API necessarie per applicazioni di microservizio veloci ed efficienti.
Una strategia API-first attribuisce un'alta priorità alle API come asset aziendali. In questa concezione, le API sono i pilastri attorno ai quali gli sviluppatori scrivono il codice, piuttosto che caratteristiche da aggiungere dopo lo sviluppo del software. È un approccio popolare nelle strategie digital-first perché enfatizza l'integrazione e la comunicazione tra sistemi aziendali, database e applicazioni.
Una strategia API-first offre diversi benefici:
Le strategie API sono molto diverse a seconda degli obiettivi e delle esigenze aziendali di ogni singola organizzazione. Ma ci sono alcuni concetti e componenti più ampi che contribuiscono a creare strategie API e molte di esse vengono sviluppate seguendo i seguenti passaggi:
Lo sviluppo della strategia inizia con una semplice domanda: cosa sta cercando di ottenere l'organizzazione con le sue API?
Questi obiettivi dovrebbero coincidere con altri obiettivi fissati dall'organizzazione, che si tratti di implementare una trasformazione digitale, ottimizzare i workflow per gli sviluppatori, aumentare metriche come base utenti, esperienza del cliente o monetizzazione, aumentare l'efficienza operativa o, naturalmente, tutte queste cose insieme.
Una catalogazione approfondita dei potenziali casi d'uso può fornire indicazioni per una strategia API efficace.
L'organizzazione vuole condividere facilmente i dati tra i team interni? Rendere più facile per gli sviluppatori creare e migliorare rapidamente il software? Collegare clienti o utenti con dati e servizi? Le strategie delle API cambiano in base alle esigenze precise di un'organizzazione, quindi ha senso iniziare con una domanda semplice: come verranno utilizzate le API?
La governance delle API si riferisce all'insieme di standard, politiche e pratiche che guidano il modo in cui un'organizzazione sviluppa, distribuisce e utilizza le proprie API.
Idealmente, un'organizzazione definisce prima la propria governance e poi progetta le API in conformità con quelle regole, anziché il contrario. Nel redigere questa governance, i team considerano fattori come gli obiettivi organizzativi, le tecnologie esistenti e quali tecnologie l'organizzazione potrebbe incorporare in futuro.
Un framework di governance potrebbe anche delineare che tipo di API vengono utilizzate per diversi casi d'uso. Esistono diversi protocolli API, stili architettonici e linguaggi, ognuno con punti di forza e debolezze. Questi includono1:
La chiamata di procedura remota (RPC) è un protocollo che consente a un programma di richiedere un servizio da un altro programma su un computer diverso, utilizzando essenzialmente lo stesso codice che richiederebbe un servizio in locale.
L'RPC fornisce il paradigma di comunicazione di alto livello utilizzato nel sistema operativo. Presuppone l'esistenza di un protocollo di trasporto di basso livello, come il protocollo di controllo della trasmissione/protocollo Internet (TCP/IP) o il protocollo datagramma utente (UDP), per trasportare i dati dei messaggi tra programmi di comunicazione.
L'RPC implementa un sistema logico di comunicazione client-server progettato specificamente per il supporto di applicazioni di rete. 2
I tipi di protocolli RPC includono XML-RPC, JSON-RPC e gRPC.
Il trasferimento di stato rappresentativo (REST) è un insieme di principi dell'architettura web API. Le API REST, note anche come API RESTful, sono API che rispettano determinati vincoli architettonici REST. Le API REST usano richieste HTTP come GET, PUT, HEAD e DELETE per interagire con le risorse. REST rende i dati disponibili come risorse, con ciascuna risorsa rappresentata da un URI univoco. I client richiedono una risorsa fornendo il relativo URI.
Le API REST sono stateless: non salvano i dati dei client tra una richiesta e l'altra. È possibile creare API RESTful con protocolli SOAP, ma i professionisti di solito considerano i due standard come specifiche concorrenti.
GraphQL è un linguaggio di query open source e un runtime lato server che consente ai client di richiedere esattamente le risorse di cui hanno bisogno. A differenza di REST, che utilizza tipicamente più endpoint per recuperare dati ed eseguire operazioni di rete, le API GraphQL utilizzano un singolo endpoint GraphQL per fornire ai client una risposta precisa e completa ai dati in un unico viaggio da una singola richiesta, eliminando i problemi di recupero eccessivo e insufficiente.3
Tuttavia, GraphQL può introdurre più complessità del necessario per applicazioni semplici.
Il protocollo di accesso agli oggetti semplici (SOAP) è una specifica di protocollo di messaggistica leggera basata su XML che consente agli endpoint di inviare e ricevere dati attraverso una serie di protocolli di comunicazione, tra cui SMTP (semplice mail transfer protocol) e HTTP (hypertext transfer protocol). SOAP è indipendente, il che consente alle API SOAP di condividere informazioni tra app o componenti software eseguiti in ambienti diversi o scritti in linguaggi diversi.
Le piattaforme di gestione delle API sono strumenti progettati specificamente per accedere, controllare, distribuire e analizzare le API, tutto in uno. Le piattaforme di gestione delle API permettono alle aziende di condividere documentazione e strumenti tra i team, possono rafforzare la sicurezza dei dati, rispettare gli standard di conformità e governance e supportare iniziative di trasformazione digitale.
Le piattaforme di gestione delle API spesso includono un portale dello sviluppatore, che funge da one-stop-shop per gli sviluppatori che desiderano consultare, accedere e condividere la documentazione. Questa soluzione può aggirare il problema di più repository, librerie obsolete e misteriose credenziali di proprietà nello sviluppo di API e software: è tutto in uno.
Le piattaforme API includono anche strumenti analitici preziosi. Questa piattaforma centralizzata viene utilizzata per monitorare l'utilizzo delle API, i tempi di risposta e le prestazioni complessive e aiutare a rilevare le vulnerabilità delle API.
Infine, l'uso delle piattaforme di gestione API consente una gestione completa del ciclo di vita dell'API. Il ciclo di vita dell'API comprende molte fasi diverse: creazione, sviluppo, test, pubblicazione, manutenzione, pensionamento. Una piattaforma API può riunire tutte queste fasi in un unico posto, il che aiuta a fornire alle organizzazioni visibilità su ambienti API ampi e complessi.
Poiché le API forniscono accesso a dati e servizi, sia a clienti interni che a terze parti, la sicurezza dovrebbe essere un fattore di primaria importanza in tutte le fasi di sviluppo della strategia API. Una sicurezza API difettosa può causare attacchi informatici, violazione dei dati e altri accessi non autorizzati. Una strategia API deve affrontare come un'organizzazione garantirà che le API siano sicure e conformi, dettagliando approcci di autenticazione, crittografia, validazione, monitoraggio, aggiornamenti regolari e altro ancora.
Una strategia API completa include piani su cosa accadrà dopo la creazione delle API, ovvero come verranno monitorate, gestite, analizzate, testate e aggiornate.
È fondamentale monitorare l'utilizzo delle API per diversi motivi, tra cui:
Una strategia API dovrebbe dettagliare come un'organizzazione promuoverà la visibilità sull'intero ambiente API, come verranno incorporate le informazioni provenienti dalle analisi e dal feedback degli utenti per migliorare le prestazioni dell'API, come verranno implementati e documentati gli aggiornamenti e come, se necessario, le API verranno ritirate.
Sviluppa, gestisci, proteggi e socializza senza soluzione di continuità tutti i tipi di application programming interface (API), ovunque si trovino.
Attiva nuovi modelli e canali di impegno, accelerando la tua trasformazione digitale basata su API.
Crea, standardizza e proteggi facilmente le API nuove ed esistenti con IBM API Connect.