Gestione centralizzata delle API con Azure API Management

Un progetto di centralizzazione delle API aziendali

In un mondo API-First, in cui è fondamentale mettere in connessione sistemi differenti, serve ordine!

Attraverso l’utilizzo di Azure API Management, abbiamo messo in mano al cliente una soluzione per la gestione centralizzata delle proprie API completa di gestione dell’autenticazione, monitoring, definizione di ruoli e accessi alle varie API, pubblicazione degli endpoint partendo da API sviluppate su diverse tecnologie e gestione controllata del processo di pubblicazione.

Sei interessato?
AzureApi - la sfida

Sfida

Il cliente ci ha contattato con un obiettivo ben preciso: mettere ordine alla miriade di web services, servizi o API attualmente in essere all’interno dell’azienda. Risorse che erano in uso e sicuramente considerate come critiche per il funzionamento di processi di automazione sia interni che esterni, oltre che ad essere implementate con le più disparate tecnologie e modalità di autenticazione. La sfida è stata propria quella di trovare una modalità di gestione comune di questi servizi in termini di sicurezza, monitoraggio e modalità di deployment e aggiornamento, attraverso uno strumento di facile utilizzo.

La soluzione: Azure API Management

La soluzione è stata quella di utilizzare al massimo le funzionalità offerte da Azure API Management, il servizio di gestione degli endpoint applicativi presente nella piattaforma cloud di Microsoft. In questo modo il cliente può fruire di una singola piattaforma in cui:

  • Gestire tutte le API per l’automazione dei propri processi interni o esterni
  • Avere un meccanismo di autenticazione unificato per qualsiasi tipologia di web service, servizio o API
  • Avere piena autonomia per gestire il versioning delle API e il relativo test
  • Monitorare l’utilizzo delle API
  • Gestire ilriconoscimento dell’utente corrente tramite l’utilizzo del proprio account aziendale Office 365
  • Avere un meccanismo di pubblicazione controllata delle API

Il pacchetto è stato completato con una gestione automatica dei rilasci delle API, tramite template ARM (Azure Resource Manager) e pipeline automatica di installazione delle risorse tramite Azure DevOps. Il che ha offerto al cliente un meccanismo pronto all’uso di recovery dell’intera infrastruttura di risorse Azure.

La soluzione

Risultati Raggiunti

Questa architettura ha portato al cliente una soluzione per che ha notevolmente migliorato l’utilizzo e la gestione degli endpoint applicativi all’interno dell’azienda. Il risultato principale è stata sicuramente la centralizzazione della gestione della sicurezza per l’accesso alle varie API, implementato sfruttando Azure AD come identity provider per l’autenticazione sia in modalità applicativa che in modalità delegata, sfruttando quindi l’identità dell’utente corrente.
Il sistema ha ora in uso oltre 120 endpoint differenti, che offrono dati alle varie applicazioni interne ed esterne al perimetro definito dalla rete aziendale, con un numero medio di oltre 50k chiamate al minuto. Altro grande risultato per il cliente è stato quello di avere la possibilità di monitorare l’utilizzo delle API, attraverso uno strumento di analytics veramente facile all’uso.