Perché la strategia di versioning API è importante

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Introduzione al versioning delle API

Introduzione al versioning

Azure API Management

Fondamenti del versioning API

Analogia del versioning

  • Usato quando modifiche incompatibili confonderebbero i passeggeri
  • Mentre si costruisce la nuova linea, i passeggeri continuano a usare la vecchia

  • Le revisioni sono come manutenzione sulla stessa linea

    • Sistemare i binari, aggiungere segnaletica, rendere il viaggio più fluido
  • In APIM:

    • Le versioni vivono in un version set
    • Le revisioni permettono di modificare, testare e marcarne una come corrente
Azure API Management

Indicazione della versione

  • Sono supportate tre strategie di indicazione versione:
    • La versione può stare nel percorso URL
    • La versione può essere nel request header
    • La versione può stare nella query string dell’URL
  • La strategia di versioning deve essere coerente

Versioning nel percorso URL

Versioning nell’header

Versioning nella query string

Azure API Management

Versione vs revisione

Versione vs revisione

Azure API Management

Rilasci canary

Rilascio canary

  • Esiti:
    • Se il feedback è buono -> segna la revisione come corrente
    • Se è negativo -> ripristina la revisione precedente
  • Come una prova in cucina: servi la nuova ricetta a pochi tavoli

  • In APIM:

    • Crea una nuova revisione e testala in privato
    • Esponila a un pubblico limitato (prodotto pilota o sottoinsieme di chiamanti)
    • Punta a una revisione specifica con un URL speciale col numero di revisione
  • Metafora ferroviaria: i tester viaggiano sul "binario di manutenzione" senza toccare la linea principale

Azure API Management

Concetti chiave da ricordare

  • Quando usare versioni vs revisioni
  • Configurare lo schema di versioni
  • Portare avanti e indietro le modifiche

Gestione API

Azure API Management

Passons à la pratique !

Azure API Management

Preparing Video For Download...