Progettare esperienze per sviluppatori di API eccezionali usando Gestione API e GitHub

Servizio app di Azure
Collegamento privato di Azure
Rete virtuale di Azure

L'editore delle API ha bisogno di un sito Web che distribuisca in modo efficace le API e aiuta i clienti a distinguere le offerte. Quando sono state selezionate API, è necessario essere in grado di concedere l'accesso solo agli utenti autenticati, gestire il consumo e recapitare fatture accurate per l'uso. Questo scenario di esempio illustra come usare il servizio di Azure e GitHub per creare una piattaforma che esegue tutto questo e altro ancora.

Architettura

Diagram of the components of this architecture and the workflow through the internet portals and Azure services that constitute the solution, including Microsoft Entra B 2 C, Azure A P I Management, the A P I gateway, and line-of-business services.

Scaricare un file PowerPoint di questa architettura.

Flusso di dati

La soluzione è costituita principalmente dai blocchi predefiniti seguenti:

  • API back-end monetizzate e gateway API. Al centro della soluzione è il set di API back-end monetizzate. I consumer, ad esempio utenti, applicazioni e dispositivi, accedono alla piattaforma API tramite un gateway API. Il gateway limita le richieste e applica il livellamento della frequenza in base alle esigenze.

  • Portale consumer e applicazioni. I consumer della piattaforma API esplorano le offerte api, registrano e quindi generano chiavi di sottoscrizione per accedere ai vari endpoint API. Possono aggiornare le informazioni relative agli account e alla fatturazione usando le funzionalità di gestione degli account della soluzione.

  • Amministrazione istrative portali e applicazioni. Gli amministratori della piattaforma pubblicano l'elenco dei prodotti API, i prezzi e i piani tariffari. Questi portali offrono anche analisi avanzate sull'uso dei vari prodotti API, che consentono di risolvere i problemi e offrire servizi di supporto.

  • Servizi line-of-business. Questi servizi sono necessari per fornire le funzionalità dei portali e delle applicazioni consumer e per supportare i vari percorsi utente supportati nella soluzione.

  • Motore di calcolo per il rilevamento del consumo delle API e degli addebiti. I report sull'utilizzo delle API, acquisiti a livello di gateway API, vengono esportati periodicamente in un archivio dati separato. I processi pianificati vengono eseguiti su questi dati per calcolare gli addebiti applicabili a qualsiasi account consumer, in base al relativo elenco di sottoscrizioni e al modello tariffario associato.

Di seguito è indicata la sequenza di elaborazione in questa soluzione:

  1. L'autore dell'API importa le specifiche dell'API usando il portale di Azure, le raggruppa per prodotto e le pubblica.

  2. L'editore dell'API aggiorna le informazioni di marketing correlate al prodotto nel repository GitHub corrispondente.

  3. L'utente dell'API accede al portale del Marketplace, esplora i vari prodotti e seleziona un servizio API specifico.

  4. Quando il consumer tenta di visualizzare altre informazioni sul servizio API, il portale consumer reindirizza l'utente al portale per sviluppatori avanzato, ospitato in GitHub e usa GitHub Pages.

  5. Il consumer può esplorare diverse specifiche api, informazioni correlate allo sviluppatore e anche provare a richiamare un endpoint usando un payload di esempio.

  6. Il consumer si registra con la piattaforma e quindi attiva una sottoscrizione per il servizio API specifico che è interessato a usare.

  7. Il consumer usa il servizio API nelle app o nei dispositivi.

  8. La chiamata dell'API genera metriche relative all'uso e al consumo, archiviate da Azure nei database di rilevamento.

  9. I dati sull'utilizzo vengono esportati periodicamente e salvati in un database personalizzato, in genere un data lake, per ulteriori analisi.

  10. Un processo back-end calcola gli addebiti dai dati di consumo e dalle varie sottoscrizioni.

  11. Le informazioni relative alla fattura e al pagamento vengono archiviate all'interno del database contabile. Queste informazioni vengono usate per calcolare i ricavi per il servizio.

Componenti

La soluzione è costituita dalle offerte SaaS (Software as a Service) seguenti:

  • Azure Gestione API è una piattaforma gestita distribuita come servizio che consente alle organizzazioni di pubblicare API sia a consumer interni che esterni. Con Gestione API, è possibile pubblicare API ospitate ovunque. Fondamentalmente, Gestione API consente di separare l'hosting dell'API dal gateway pubblicato che funge da punto di ingresso singolo per il panorama completo delle API pubblicate dall'organizzazione. Per altre informazioni, vedere Modello di routing del gateway.

    Gestione API fornisce anche un livello di governance su tutte le API pubblicate. Usando Gestione API criteri, diverse altre funzionalità, ad esempio limiti di frequenza e quote, è possibile limitare le richieste API in base a una chiave o a una sottoscrizione. Gestione API include un portale per sviluppatori che fornisce un sito Web completamente personalizzabile da usare come documentazione delle API pubblicate tramite di esso.

  • GitHub è un'offerta SaaS diffusa di Microsoft che viene spesso usata dagli sviluppatori per compilare, distribuire e gestire i progetti software. Offre funzionalità importanti che è possibile usare nelle soluzioni:

  • app Azure Service è una piattaforma di calcolo completamente gestita per l'hosting di applicazioni Web personalizzate.

  • Azure Active Directory B2C (Azure AD B2C) è un'estensione dell'ID Microsoft Entra che l'applicazione può usare per gestire identità di clienti o partner esterne per l'accesso e l'autorizzazione. È possibile usare la piattaforma Di identificazione Microsoft per integrare facilmente identità e autorizzazione nelle applicazioni personalizzate.

Dettagli dello scenario

Il successo e l'adozione di qualsiasi piattaforma API dipende in gran parte dal modo in cui viene considerata nel marketplace. Oltre agli asset digitali offerti dalla piattaforma, la facilità di ricerca delle API e la facilità d'uso hanno un grande effetto sul fatto che i clienti usino una piattaforma. I clienti devono essere in grado di trovare la documentazione e ricevere supporto per i problemi. La piattaforma dovrebbe anche facilitare il contributo della community per aiutare i clienti a definire le API in base alle proprie esigenze. L'editore delle API ha bisogno di un sito Web che distribuisca in modo efficace le API e aiuta i clienti a distinguere le offerte. Quando sono state selezionate API, è necessario essere in grado di concedere l'accesso solo agli utenti autenticati, gestire il consumo e recapitare fatture accurate per l'uso. Questo scenario di esempio illustra come usare il servizio di Azure e GitHub per creare una piattaforma che esegue tutto questo e altro ancora.

Potenziali casi d'uso

È possibile usare questa soluzione per semplificare gli sviluppatori di API per:

  • Individuare e comprendere le offerte di prodotti API.
  • Sottoscrivere e integrare con le varie applicazioni e canali.
  • Ottenere assistenza, risolvere i problemi e risolvere i problemi.
  • Promuovere il contributo della comunità e scambiare idee e conoscenze.

Catena di valori API

Diagram that describes the A P I value chain.

Nella parte superiore della catena di valori è presente il provider di servizi API. Di seguito sono riportati i consumer o gli integratori di API, che progettano e creano le esperienze per gli eventuali consumer di destinazione. Gli utenti finali e i clienti sono i beneficiari finali della catena di valori.

Esperienza per sviluppatori di API

Diagram of features and capabilities of the enhanced A P I developer experience.

Scaricare un file di PowerPoint di questo diagramma.

L'esperienza per gli sviluppatori di API include tre portali:

  • Portale consumer. Il portale consumer funge da sito Web di marketing che presenta i vari prodotti API offerti dall'azienda.

  • Portale per sviluppatori. Il portale per sviluppatori fornisce agli sviluppatori di terze parti la documentazione sui vari servizi API e su come usarli nelle applicazioni.

  • Portale account. Gli utenti registrati gestiscono le sottoscrizioni ed eseguono altre attività correlate all'account usando il portale degli account.

Requisiti funzionali

A livello generale, i requisiti funzionali per una piattaforma API su scala aziendale rientrano in tre categorie, ovvero la productizzazione, l'amministrazione della piattaforma e le esperienze consumer.

Diagram that shows three broad functional requirements of an enterprise-scale A P I platform.

Le sezioni seguenti descrivono ulteriormente le funzionalità all'interno di ogni area di funzionalità.

Productizzazione

L'obiettivo della productizzazione è identificare e definire le API monetizzate, la loro gestione e una strategia per venderle come prodotti digitali. Di conseguenza, copre:

  • Funzionalità, ad esempio l'identificazione delle varianti dei prodotti e il mapping corrispondente agli asset fisici.
  • Definizione dei piani tariffari e tariffari, insieme ai metadati necessari.
  • Contenuto che deve essere creato per guidare l'esperienza utente.

La productizzazione comprende le funzionalità seguenti:

  • Prodotti API. Questo catalogo di API viene reso disponibile ai consumer. Un prodotto può essere offerto per l'acquisto o come servizio gratuito.

  • Varianti. L'esperienza di sviluppo deve identificare le varianti di qualsiasi prodotto API monetizzato.

  • Piani tariffari. Definire i vari piani tariffari per renderlo attraente per i consumatori.

  • Tassonomia e contenuto. Definire e creare il contenuto, ovvero testo, PDF, immagini e così via, necessario per la strategia di marketing per questi prodotti API.

  • Asset fisici. Sono inclusi i servizi cloud effettivi che fanno parte del prodotto API specifico e la relativa gestione del ciclo di vita. Prendere in considerazione il costo delle operazioni di gestione di questi servizi durante la derivazione dei piani tariffari.

Amministrazione della piattaforma

L'amministrazione della piattaforma è incentrata sull'hosting, la gestione e la governance generali della piattaforma API. Offre inoltre una soluzione end-to-end per l'amministrazione delle varie applicazioni e servizi line-of-business. Le principali aree di interesse sono la gestione delle sottoscrizioni, la fatturazione e la fatturazione. L'amministrazione della piattaforma fornisce anche la generazione di informazioni dettagliate e analisi aziendali per presentare l'integrità complessiva del servizio, inclusi i relativi aspetti finanziari e operativi.

L'amministrazione della piattaforma include le funzionalità seguenti:

  • Registrazione utente. Identificare il modo in cui gli utenti si registrano con la piattaforma. Definire i flussi di lavoro di approvazione necessari, a seconda del segmento utente.

  • Catalogo API. Identificare gli asset API pubblicati tramite Gestione API. Applicare criteri per controllare l'accesso e l'uso delle API. Gestire le sottoscrizioni degli utenti.

  • Informazioni dettagliate e analisi. Acquisire i dati di telemetria per generare varie metriche. Visualizzare i dati usando dashboard diversi, ad esempio Power BI, per derivare le varie informazioni dettagliate necessarie per i decision maker aziendali e IT.

  • Fatturazione e fatturazione. Definire i flussi di lavoro correlati a sottoscrizioni, gestione degli ordini, fatturazione e fatturazione.

  • Supporto. Stabilire strumenti e processi per gestire le richieste di supporto.

Esperienza utente

L'adozione della piattaforma API dipende in larga misura dalla facilità con cui i consumer possono:

  • Individuare le API necessarie.
  • Esaminare la specifica e il contenuto tecnico esplorando il portale per sviluppatori.
  • Registrarsi per eseguire la sottoscrizione.
  • Pagare i prodotti API selezionati.
  • Iniziare a usare le API nelle applicazioni.

Un'esperienza utente viene in genere distribuita tramite un portale Web, un'app per dispositivi mobili o entrambi. È possibile usare Azure AD B2C per facilitare la registrazione e la gestione delle identità degli utenti. Azure AD B2C include il supporto per i provider di identità OpenID, ad esempio Microsoft e Google.

Le esperienze utente comprendono i componenti seguenti:

  • Catalogo del prodotto (API). Creare un'esperienza del marketplace per gli utenti, sia anonimi che registrati.

  • Gestione degli account e delle sottoscrizioni. Stabilire procedure per la registrazione e l'accesso in base ai tipi di utenti che si prevede di usare l'API. Supportare le preferenze utente, ad esempio l'uso di provider di identità di social networking esistenti. Consenti la gestione delle sottoscrizioni self-service, l'attivazione e la disattivazione dei servizi e il pagamento degli addebiti come fatturati.

  • Interfaccia utente /Esperienza utente (UX). Identificare e definire le esperienze per i canali supportati per le esperienze degli utenti finali. Includere funzionalità multi-dispositivo, a più fattori di forma, insieme alla progettazione moderna dell'interfaccia utente. Arricchire l'esperienza attraverso gli studi sull'usabilità.

Considerazioni

I componenti in questo scenario affrontano i problemi di prestazioni, affidabilità e sicurezza.

Gestione API supporta la scalabilità automatica, che espande rapidamente le funzionalità di Gestione API in risposta a un numero crescente di richieste in ingresso. Gestione API supporta anche la ridondanza della zona e le distribuzioni in più aree per garantire resilienza e disponibilità elevata. Per altre informazioni sulla ridondanza della zona, vedere Supporto della zona di disponibilità per Azure Gestione API. Per altre informazioni sulla sicurezza Gestione API, vedere Baseline di sicurezza di Azure per Gestione API.

servizio app è una piattaforma distribuita come servizio completamente gestita che offre funzionalità di sicurezza e scalabilità automatica predefinite con un Contratto di servizio che promette disponibilità elevata. servizio app è Conforme a ISO, SOC e PCI, supporta l'autenticazione degli utenti con l'ID Microsoft Entra, Google, Facebook, Twitter o l'account Microsoft. Con servizio app è anche possibile creare restrizioni relative all'indirizzo IP.

Azure AD B2C offre disponibilità elevata e scalabilità per supportare centinaia di milioni di utenti. Azure AD B2C supporta openID Connessione e più provider di identità in modo che i clienti possano scegliere il provider preferito. Azure AD B2C supporta anche l'autenticazione a più fattori basata su applicazioni e basata su criteri, aggiungendo livelli di sicurezza aggiuntivi. Per altre informazioni su Azure AD B2C, vedere Che cos'è Azure Active Directory B2C? Per altre informazioni sull'uso di identità esterne, vedere Identità esterne in Microsoft Entra ID.

GitHub rende le revisioni della sicurezza una parte automatizzata delle revisioni del codice, analizzando ogni nuovo commit per individuare potenziali problemi di sicurezza. Questo servizio consente di individuare i problemi non appena vengono offerti come aggiunte alla codebase. La sicurezza di GitHub consente di personalizzare le ricerche relative ai problemi di sicurezza e integrare motori di analisi di terze parti. Per altre funzionalità e dettagli, vedere Sicurezza in GitHub.

Ottimizzazione dei costi

È possibile sviluppare il portale consumer usando il piano tariffario Team o Enterpriseper GitHub. Fare riferimento alla matrice di funzionalità per identificare il piano più adatto all'azienda.

Per Gestione API, è possibile usare i livelli Standard o Premium. Per comprendere meglio le differenze tra i livelli, vedere Gestione API opzioni dei prezzi.

Per app Azure Servizio, vedere le opzioni dei prezzi disponibili per gli ambienti Windows e Linux per l'hosting delle applicazioni.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Passaggi successivi