Cos'è un approccio API-first?
L'approccio API-first contrasta nettamente con l'approccio code-first, dove un team inizia progettando la funzionalità dell'applicazione, scrivendo il codice e poi aggiungendo le API alla fine del processo.
In Zonos, costruire software utilizzando un approccio API-first significa progettare soluzioni attorno a un'API, piuttosto che codificare un'applicazione e aggiungere un'API successivamente. Questo significa che le nostre API sono fondamentali e prodotti a sé stanti; le progettiamo con un'intensa attenzione alle esigenze del cliente, e le documentiamo e le architettiamo chiaramente prima di scrivere qualsiasi codice.
I vantaggi di un approccio API-first
L'approccio API-first aiuta a stabilire la seguente mentalità:
- Comprendiamo che le nostre API sono l'interfaccia principale per i nostri clienti, e quindi le consideriamo come i nostri deliverable pubblici.
- Documentare prima di scrivere codice ci dà l'opportunità di ragionare, discutere, affinare e comunicare i nostri obiettivi con i nostri team e stakeholder per creare un prodotto finale migliore.
- Mentre ci concentriamo sulle esigenze dei nostri clienti, comprendiamo come progettare al meglio le API che soddisfano tali esigenze.
Questa mentalità pone le nostre API e i clienti al primo posto ed è fondamentale per stabilire una base in cui tutti in Zonos sono responsabili del successo del cliente.
I team di sviluppo possono lavorare in parallelo
L'approccio API-first comporta la creazione di un contratto. Creare un contratto tra servizi che viene seguito dai team all'interno di un'organizzazione consente a quei team di lavorare su più API contemporaneamente. Gli sviluppatori non devono aspettare che vengano rilasciati aggiornamenti API prima di passare alla prossima API. I team possono simultaneamente testare in modo simulato le API e le dipendenze delle API basate su definizioni API pre-stabilite.
Riduce il costo dello sviluppo
Le API e il codice possono essere riutilizzati in molti progetti diversi. Sotto l'approccio API-first, se un team di sviluppo vuole costruire una nuova applicazione, non deve partire da zero, risparmiando tempo e denaro. Il design API-first consente anche di risolvere la maggior parte dei problemi prima che venga scritto qualsiasi codice, il che aiuta a prevenire problemi quando è il momento di integrare le API con le applicazioni.
Aumenta la velocità di immissione sul mercato
Gran parte del processo di costruzione delle API può essere automatizzato utilizzando strumenti per importare file di definizione API. Iniziamo generando i tipi core, le definizioni e gli schemi; con quei file, strumenti API come la documentazione API, i kit di sviluppo software (SDK) e le API simulate possono essere auto-generate. L'automazione accelera significativamente lo sviluppo di API e applicazioni.
L'approccio API-first rende anche possibile aggiungere nuovi servizi e tecnologie alle applicazioni senza dover ri-architettare l'intero sistema. Zonos deve spedire rapidamente le funzionalità in produzione per rimanere competitiva nel mercato SaaS transfrontaliero in continua evoluzione. È più facile eliminare il debito tecnico nel codice sottostante che migrare i clienti da un'API mal progettata.
Garantisce buone esperienze per gli sviluppatori
I consumatori di API sono più spesso sviluppatori, e l'esperienza dello sviluppatore (DX) può determinare il successo o il fallimento di un'API. L'approccio API-first garantisce che l'esperienza dello sviluppatore sia positiva perché un'API ben progettata, ben documentata e coerente è più facile da apprendere e riutilizzare. Questo aumenta anche la velocità di implementazione. Questi benefici sono tutti interconnessi!
Aumenta il successo a lungo termine
Un approccio API-first consente una rapida prototipazione e iterazione, il che significa che apprendiamo più rapidamente cosa funziona e cosa no. Come i 1.000 tentativi falliti di Edison prima di creare la lampadina, l'approccio API-first significa fallire rapidamente e andare avanti con una migliore comprensione di come raggiungere il successo. L'approccio API-first aumenta il nostro successo a lungo termine garantendo che le API siano affidabili, coerenti e facili da usare per gli sviluppatori.
Perché lavorare al contrario è efficace?
Nel 2015, ho avuto l'opportunità di ridisegnare il sito ecommerce di un noto marchio di consumo. Ho valutato vari indicatori chiave di prestazione (KPI) relativi al sistema esistente, ed era clear dove si potevano fare i maggiori miglioramenti:
- Il rate di conversione desktop era inferiore alla norma.
- Il rate di conversione mobile era pessimo.
- La percentuale di traffico mobile stava aumentando rapidamente e avrebbe superato il 50% del traffico totale entro i prossimi 12 mesi. A causa del pessimo rate di conversione mobile, la maggior parte del traffico essendo mobile non era ideale.
Dati i dati, cosa creerebbe il maggior valore per gli utenti? Era ovvio: risolvere i problemi con l'esperienza utente mobile del sito. Pertanto, ho adottato un approccio mobile-first per ridisegnare il sito. Questo significava che tutti i design, l'architettura, le API, ecc. consideravano prima l'esperienza mobile. Questo era al contrario rispetto all'approccio tradizionale dell'epoca, che si concentrava prima sull'esperienza desktop, spesso lasciando l'esperienza mobile come un ripensamento mal congegnato con tassi di conversione scadenti. L'approccio mobile-first richiedeva anche più sforzo iniziale—non era il percorso facile. Era necessaria una nuova architettura, nuove API avrebbero dovuto essere scritte e erano richiesti più design per ogni punto di interruzione.
L'approccio mobile-first ha portato a un significativo aumento del rate di conversione mobile. La nuova architettura ha anche prodotto guadagni impressionanti nel rate di conversione desktop. L'approccio è stato efficace perché ha identificato come creare il massimo valore per l'utente e ha focalizzato l'intero approccio su fornire quel valore. Ha creato la giusta mentalità fin dall'inizio. Allo stesso modo—anche se può sembrare di lavorare al contrario—un approccio API-first crea opportunità per identificare problemi generali e poi costruire una base per correggere quei problemi.
Qual è la responsabilità dell'ingegneria?
La mentalità API-first ha portato e continuerà a portare Zonos al successo, e l'ingegneria gioca un ruolo fondamentale. È nostra responsabilità mantenere sempre la mentalità API-first. Questo significa che poniamo costantemente domande che mantengono il focus sulle nostre API, come: “Come possono le nostre API soddisfare le esigenze del cliente”. Significa anche che rispondiamo sempre a domande su funzionalità e caratteristiche con un link alla nostra documentazione API. Se la documentazione non esiste, allora la creiamo—lavorando insieme in team interfunzionali per garantire che Zonos abbia una documentazione API eccezionale.
Come un approccio API-first sta modellando il futuro di Zonos
Ti sei mai chiesto cosa significhi essere un'azienda API-first? Leggi l'opinione del VP of Engineering di Zonos, Andrew Spencer, su come un approccio API-first stia modellando il futuro di Zonos.
Zonos è un'azienda API-first. C'è molta informazione racchiusa in questa breve affermazione. Quindi, cosa significa realmente? Questo blog analizzerà il concetto di un'azienda API-first come dimostrato da Zonos.
Se affermiamo che Zonos è un'azienda API-first, ne consegue che le nostre API sono la strategia principale attraverso la quale raggiungiamo la nostra missione di creare fiducia nel commercio globale. Tatticamente, questo significa che dobbiamo adottare un approccio API-first a livello aziendale in tutto ciò che facciamo. Quando consideriamo le esigenze di un cliente, ci chiediamo prima: "Come possono le nostre API soddisfare le esigenze del cliente?"
Per comprendere meglio cosa significhi essere un'azienda API-first, questo blog discuterà i seguenti punti: