Le best practice della strategia API

Rendering 3D di isole a forma di blocco con diversi tipi di fornitura di energia collegati
Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Le best practice della strategia API

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.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

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.

Grazie per aver effettuato l'iscrizione!

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.

Cos'è una strategia API?

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.

Sviluppo di applicazioni

Sali a bordo: sviluppo di applicazioni Enterprise nel cloud

In questo video il Dr. Peter Haumer illustra l'aspetto del moderno sviluppo di applicazioni aziendali nell'hybrid cloud, mostrando diversi componenti e pratiche, tra cui IBM Z Open Editor, IBM Wazi e Zowe. 

Perché è importante una strategia API?

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.

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. 

Esperienza di sviluppo superiore

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.

Compatibilità

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à.

Integrazione legacy

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.

Modelli di business ottimizzati

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.

Sicurezza delle 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.

Microservizi

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.

Strategia API-first

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:

  • Riduce il rischio di ridondanza delle API

  • Promuove il riutilizzo delle API

  • Rende le API rilevabili in una posizione centralizzata per una facile ricerca e adozione

  • Rende l'ecosistema API più efficiente

  • Riduce il tempo che gli sviluppatori dedicano al debug del codice

  • Consente una maggiore scalabilità

  • Facilita la manutenzione e gli aggiornamenti API

  • Offre un vantaggio competitivo nel business in un mondo sempre più ricco di API

  • Consente ai team di sviluppo di lavorare in parallelo su più API contemporaneamente, collaborando in tempo reale.

Componenti chiave della strategia API

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:

Definisci gli obiettivi

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.

Identifica i casi d'uso delle API

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?

Sviluppa un framework di governance

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:

RPC

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.

REST

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

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.

SOAP

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.

Scegli una piattaforma di gestione delle API

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.

Gestisci la sicurezza e la conformità

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.

Monitora, analizza e aggiorna

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:

  • Assicurarsi che le API funzionino correttamente e siano prive di bug

  • Analizzare i modelli di traffico per verificare la presenza di comportamenti insoliti e potenzialmente pericolosi

  • Confermare che tutte le API siano aggiornate

  • Prestare attenzione a potenziali duplicazioni

  • Rimuovere le API non più operative o sostituite

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.

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
Gestione delle API

Attiva nuovi modelli e canali di impegno, accelerando la tua trasformazione digitale basata su API.

Esplora la gestione delle API
Sviluppo di API con IBM API Connect

Crea, standardizza e proteggi facilmente le API nuove ed esistenti con IBM API Connect.

Crea nuove API
Prossimi passi

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à. 

Esplora API connect Esplora la presentazione del prodotto