• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina
Glue Labs

Glue Labs

Trasformiamo le tue idee in prodotti digitali di successo!

  • HOME
  • SOLUZIONI
  • NEWS
  • PRODOTTI
  • CONTATTI
  • CASE STUDY

Gli 8 passi del ciclo di vita delle API

Come garantire la qualità, le performance, la scalabilità, la sicurezza e la modularità delle API

Stabilire un ciclo di vita delle API è essenziale per ottenere una piattaforma di livello enterprise che espone magari centinaia o migliaia di API . Questo tipo di piattaforma richiede che il team di sviluppo utilizzi un comune vocabolario al fine di avere produttività, qualità e governance nel ciclo delle API.

Prendiamo spunto da quanto ha suggerito Postman, un tool internazionale per la gestione, il delivery ed il test delle API, nel suo blog per indicarti quali sono gli step di un lifecycle delle API che dovresti prendere in considerazione per i tuoi Web Service per garantirne la qualità, la scalabilità, la modularità e la performance.

Contattaci subito e senza impegno per realizzare le tue API.

1 – Definire

Per sviluppare le API (ma anche per qualsiasi applicazione) occorre definire le informazioni minime come:

  • il team ed i ruoli degli sviluppatori;
  • il workspace, dove trovare le informazioni utili per lo sviluppo e per collaborare;
  • il repository, cioè dove mettere al sicuro il codice sorgente, per es. usando Git per il versioning e la gestione del delivery.

2 – Progettare

Occore poi progettare le API mantendo la consistenza delle informazioni, i comuni standard ed i pattern di sviluppo. Per far questo puoi usare:

  • OpenAPI per avere un comune vocabolario che descrive le richieste e le risposte delle API, inoltre ti aiuta anche a stabilire il delivering della documentazione, i mocks ed i test;
  • Mock server per replicare le funzionalità delle API che avrebbero in produzione prima di effettivamente svilupparle. Il Mock Server ti permette anche di ottenere un primo feedback da tutti i stakeholder delle API.

3 – Documentare

La documentazione è un elemento essenziale per assicurare che lo sviluppo sia completo, accurato e facilmente da rimodulare e modificare nel tempo anche da altri sviluppatori. Troppo spesso si sottovaluta questa fase per poi comprenderne la stategica utilità solo quando è oramai tardi ed è costoso ritornare indietro. Dovresti includere nella tua documentazione almeno:

  • i riferimenti di cosa è possibile ottenere con ogni API, come attivare le richieste e quali risposte vengono inviate (anche in caso di fallimento della richiesta). Inoltre occorre formalizzare i path, i parametri, gli schemi, la modalità di autenticazione e qualsiasi dettaglio tecnico in modo leggibile e comprensibile affinchè si possa capire completamente come l’API funziona.
  • gli esempi ed i casi d’uso delle richieste, delle risposte e dei messaggi che l’API invia o può inviare. Gli esempi aiutano anche potendo essere utilizzati per il versioning e per il testing delle API.

4 – Deploy

Un processo di sviluppo deve avere almeno tre ambienti: development, staging e production. Questo processo garantisce che le API seguano una corretta pipeline di introduzione e delivery. Inoltre tale processo assicura che le API siano parte di una progettualità gestita. Nell’ambito di questa fase possono essere d’aiuto:

  • CI/CD pipeline, strumenti per il Continuous Integration/Continuous Delivery che ti permettono anche di automatizzarne il deploy e l’orchestrazione dell’infrastruttura.
  • Gateway per avere un approccio federato e centralizzato di gestione per scalare ed avere un comune elemento verso l’esterno come policy.

5 – Test

Nello sviluppo la componente test-driven assicura che il delivery ed i risultati delle API siano in linea con le aspettative, inoltre i test ti permettono di comprendere che l’API è stabile ed invia dati ed informazioni corrette e ti garantiscono che una modifica ad una API non ha provocato problemi o errori. Per aiutarti nei test puoi usare:

  • Contract testing sullo stile delle API artifacts per es. in OpenAPI, JSON Schema o GraphSQL per formalizzare il test, i risultati e le API. Ciò ti permettere di avere test ripetibili e scalabili.
  • Performance test con tool come Locust per assicurare che le API rispondono secondo i tempi che ti aspetti.
  • Chaos Engineering per verificare la resilienza delle API business critical e delle API che sono correlate ad altre API e che quindi hanno strutturalmente possibilità di errore.

6 – Sicurezza

In questa fase devi garantire la sicurezza delle tue API applicando processi di Identity Access Management(IAM) ed implementando autenticazione, autorizzazione ed auditing. Troppo spesso API poco sicure hanno esposto dati confidenziali o protetti dalla privacy. Puoi ottenere la sicurezza delle API attraverso:

  • l’autenticazione delle API con token e scambi di chiavi anche utilizzando il Cloud per la gestione delle chiavi;
  • Penetration Test per verificare che le API siano protette come minimo dalle Top 10 vulnerabilità di OWASP.

7 – Monitor

Monitorare vuol dire controllare che le tue API rispettino nel tempo tutte le tue aspettative. Evitare o sottovalutare il monitoraggio spesso comporta perdite economiche poichè ci si accorge troppo tardi di errori gravi ed impattanti. Oggi ci sono numerosi strumenti di monitoraggio anche Cloud based che ti permettono in maniera automatica e autogestita di avere analisi su qualsiasi aspetto delle tue API come performance, security exposure, test, attività, changelog anche inviandoti notifiche in base a specifici trigger.

8 – Discover

Le API sono utili se possono essere trovate ed utilizzate, in questa fase devi fornire ai tuoi “consumatori di API” la documentazione necessaria, i workflow di utilizzo e gli strumenti per potersi integrare ed usare le tue API. Sia che tu scelga di esporre le tue API sul tuo portale pubblico o internamente è necessario che implementi un processo di Knowledge Management al fine di mantenere le API ricercabili, consistenti ed effettivamente utili nel tempo.

Glue Labs e le API

Abbiamo sviluppato ed integrato API in Web Service e Web Application, Middleware ed Embedded System. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti garantiamo le competenze per assisterti e supportarti per qualsiasi tuo progetto di sviluppo e nella realizzazione di API, anche Cloud Native, con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.

Continua la lettura

  1. 5 consigli sulla progettazione di API
  2. Cos’è un Mock Server e perchè usarlo

Categoria: Articoli Tags: API, chaos engineering, CI/CD, Git, Mock Server, openapi, owasp, postman, Web Service

Barra laterale primaria

Cosa facciamo

  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • PushAPE
  • Sicurezza ICT
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • Web Application
  • Web Design

Contatti

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove siamo

Roma: Piazza Don Sturzo 15
Milano: Via Lazzaretto 19
Torino: Via San Domenico 28
Altamura: Via Maggio 1648 24

"*" indica i campi obbligatori

Nome*
Questo sito è protetto da reCAPTCHA e si applicano le Normative sulla Privacy e i Termini di Servizio di Google.
Inviando i tuoi dati accetti le condizioni sulla Privacy. Li useremo per rispondere alle tue domande e richieste.
Consenso*
*
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Siamo parte di

La nostra Agenzia di Marketing

Footer

Partnership



Rimaniamo in contatto

Iscriviti alla nostra newsletter

Nome
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Soluzioni

  • Supporto ed Integrazione di SPID e CIE con OpenID Connect
  • Consulenza e Assessment pre-formazione
  • Integrazione con le API di OpenAI e ChatGPT
  • Corso Cucumber per Javascript
  • Supporto ed Assistenza nell’implementazione ed utilizzo dei Kit di Designers Italia
  • Realizzazione di Tour Virtuali 3D
  • Conferenza/Seminario – Google Cloud Hands On
  • Corso Cacti
  • Backup-as-a-Service in Cloud: come archiviare i dati in maniera sicura ed affidabile
  • Corso Angular 14

Articoli

  • L’impatto dei bug sul consumo di energia di un software
  • Software report del 2022 e trend per il 2023
  • Come gestire il backup di architetture complesse in maniera sicura ed efficiente
  • Perchè avere un Contact Center as a Service(CCaaS)
  • Come modernizzare applicazioni legacy
  • Cos’è Github Flow
  • Come avere una Data Quality Platform come Twitter
  • Cos’è la Dead letter queue e perchè è importante
  • Jinja: un template engine multiuso per Python
  • Cos’è l’Application Level Encryption(ALE): vantaggi e svantaggi

Le nostre sedi

  • Roma, Piazza Don Sturzo 15
  • Milano, Via Lazzaretto 19
  • Torino, Via San Domenico 28
  • Altamura, Via Maggio 1648 24

Contatti

  • Tel. +39 06 87811067
  • Fax +39 06 99335373
  • glue-labs@legalmail.it
  • info@glue-labs.com
  • Facebook
  • LinkedIn
  • Twitter

Scarica app da App StoreScarica app da Play Store


Glue Labs © 2011–2023 | Copyright | Privacy Policy | Company Info | Cookie Policy | Gestione Cookies

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
La conservazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire la fruizione di uno specifico servizio esplicitamente richiesto dall'abbonato o dall'utente, o al solo fine di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente a fini statistici anonimi. Senza un mandato di comparizione, il rispetto volontario da parte del tuo provider di servizi Internet o registrazioni aggiuntive da parte di terzi, le informazioni archiviate o recuperate solo per questo scopo non possono essere generalmente utilizzate per identificarti. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
L'archiviazione tecnica o l'accesso è necessario per creare profili utente per inviare pubblicità o per tracciare l'utente su un sito Web o su più siti Web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Gestisci preferenze
{title} {title} {title}