Vantaggi dell'uso di Gestione API di Azure per comporre l'API
Le architetture dei microservizi possono essere difficili da gestire. È possibile, ad esempio, affidarsi a team distinti che implementano requisiti trasversali, ad esempio la sicurezza, in modo coerente.
Nel negozio online, i team di sviluppo hanno creato i dettagli del prodotto e i microservizi dettagli ordine in URL host diversi. Inoltre, il servizio dei dettagli dell'ordine risponde usando XML. Si vuole garantire che tutte le risposte siano in formato JSON per agevolare gli sviluppatori di app client.
In questa unità vengono fornite informazioni sulle funzionalità di Gestione API. È possibile usare queste funzionalità per integrare microservizi diversi e presentarli alle applicazioni client con un comportamento coerente in un singolo URL.
Problemi dell'architettura dei microservizi
L'approccio basato su microservizi per l'architettura crea un'applicazione modulare in cui ogni parte non è rigidamente associata alle altre. La distribuzione indipendente dei servizi riduce l'effetto di eventuali bug che potrebbero renderli tramite test nell'ambiente di produzione. Questo approccio modulare semplifica il rollback a una versione stabile. Inoltre, è possibile creare piccoli team autonomi di sviluppatori per ogni microservizio. Questa suddivisione si adatta perfettamente alle moderne procedure Agile.
Tuttavia, le architetture dei microservizi possono presentare anche problemi, ad esempio:
- Le app client sono associate a microservizi. Se si vuole modificare il percorso o la definizione del microservizio, potrebbe essere necessario riconfigurare o aggiornare l'app client.
- Ogni microservizio può essere presentato in nomi di dominio o indirizzi IP diversi. Questa presentazione può dare un'impressione di incoerenza agli utenti e può influire negativamente sulla personalizzazione.
- Può risultare complesso applicare standard e regole API coerenti in tutti i microservizi. Ad esempio, un team potrebbe preferire la risposta con XML e un altro potrebbe preferire JSON.
- Per implementare correttamente la sicurezza nel microservizi ci si affida a singoli team. Può risultare difficile imporre questi requisiti a livello centralizzato.
In che modo è utile Gestione API?
Aggiungendo più API, funzioni e altri servizi a Gestione API, è possibile assemblare questi componenti in un prodotto integrato che offre un singolo punto di ingresso alle applicazioni client. La composizione di un'API tramite Gestione API offre i vantaggi seguenti:
- Le app client sono associate all'API che esprime la logica di business e non all'implementazione tecnica sottostante con i singoli microservizi. È possibile modificare il percorso e la definizione dei servizi senza riconfigurare o aggiornare necessariamente le app client.
- Gestione API funge da intermediario. Inoltra le richieste al microservizio corretto indipendentemente dalla posizione e restituisce risposte agli utenti. Gli utenti non visualizzano mai i diversi URI in cui sono ospitati i microservizi.
- È possibile usare i criteri di Gestione API per applicare regole coerenti in tutti i microservizi del prodotto. Ad esempio, è possibile convertire tutte le risposte XML in formato JSON, se questo è il formato preferito.
- I criteri consentono anche di applicare requisiti di sicurezza coerenti.
Gestione API include anche strumenti utili: è possibile testare ogni microservizio e le relative operazioni per assicurarsi che funzionino in base ai propri requisiti. È anche possibile monitorare il comportamento e le prestazioni dei servizi distribuiti.
Gestione API di Azure supporta l'importazione di app per le funzioni di Azure come nuove API o l'aggiunta delle app ad API esistenti. Il processo genera automaticamente una chiave host nell'app per le funzioni di Azure, a cui viene quindi assegnato un valore denominato in Gestione API di Azure.
Nell'unità successiva verrà aggiunto il microservizio dei dettagli dell'ordine all'API dello store online creata nell'esercizio precedente. In questo modo, è possibile integrare i dettagli dell'ordine con il microservizio dettagli prodotto e presentarli entrambi nello stesso dominio come parte di un'API integrata.