Cos'è Apigee Edge?

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Apigee Edge è una piattaforma per lo sviluppo e la gestione di API. Utilizzando un livello proxy come frontend per i servizi, Edge fornisce un'astrazione o una facade per le API dei servizi di backend e offre sicurezza, limitazione di frequenza, quote, analisi e altro ancora.

Ad esempio, puoi visualizzare un webcast su come Walgreens utilizza le API e Apigee Edge per offrire un ricco ecosistema di app per la stampa di foto, le prescrizioni e altri servizi che offre.

Crea il tuo primo proxy.

Accelerazione digitale

Questo video offre una rapida panoramica di come Apigee ti aiuta a trasformarti in un'attività digitale.

Scelta tra gestione dei servizi e gestione delle API

Questo video ti aiuta a comprendere le differenze importanti tra la gestione dei servizi e la gestione delle API. attività.

Rendere disponibili i tuoi servizi sul web

Oggi le aziende vogliono rendere disponibili i propri servizi di backend sul web in modo che possano essere utilizzati dalle app in esecuzione su dispositivi mobili e computer. Un'azienda potrebbe volere mettere a disposizione servizi che forniscono informazioni sui prezzi e sulla disponibilità dei prodotti, servizi di vendita e ordinazione, servizi di monitoraggio degli ordini e qualsiasi altro servizio richiesto dalle app client.

Le aziende spesso espongono i servizi come un insieme di endpoint HTTP. Gli sviluppatori di app client inviano quindi richieste HTTP a questi endpoint. A seconda dell'endpoint, il servizio potrebbe restituire nuovamente i dati, formattati come XML o JSON, all'app client.

Le app client che utilizzano questi servizi possono essere implementate come app autonome per un dispositivo mobile o un tablet, come app HTML5 in esecuzione in un browser o come qualsiasi altro tipo di app che può effettuare una richiesta a un endpoint HTTP e utilizzare i dati di risposta. Queste app potrebbero essere sviluppate e rilasciate dalla stessa azienda che ha esposto i servizi o da sviluppatori di app di terze parti che utilizzano servizi disponibili pubblicamente.

L'immagine seguente mostra questo tipo di modello:

Diversi tipi di app, come app mobile, app point of sale, partner e web, si connettono a servizi di backend, come ESB, SOA, server app e database.

Poiché i fornitori rendono disponibili i propri servizi sul web, devono assicurarsi di aver preso tutte le misure necessarie per proteggere e proteggere i propri servizi da accessi non autorizzati. In qualità di fornitore di servizi, tieni presente quanto segue:

  • Sicurezza: in che modo controllerai l'accesso ai tuoi servizi per impedire l'accesso non autorizzato?
  • Compatibilità: i tuoi servizi funzioneranno su piattaforme e dispositivi diversi?
  • Misurabilità: come puoi monitorare i tuoi servizi per assicurarti che siano disponibili?
  • Monetizzazione: come puoi monitorare e fatturare ai clienti l'accesso ai tuoi servizi?
  • E molte altre considerazioni

Dopo aver rilasciato un'app client che accede a qualsiasi servizio, il fornitore di servizi è tenuto a garantire che questi servizi continuino a funzionare nel tempo man mano che li aggiunge, li modifica o li elimina. Il fornitore di servizi deve inoltre avere un modo per informare gli sviluppatori di app di eventuali modifiche ai servizi per garantire che le app client rimangano sincronizzate con questi servizi.

Gli sviluppatori di app client si trovano ad affrontare delle sfide quando cercano di utilizzare i servizi di diversi provider. Oggi sono disponibili molte tecnologie che un fornitore di servizi può utilizzare per esporre i propri servizi. La stessa app client potrebbe dover utilizzare un meccanismo per utilizzare un servizio di un fornitore e un altro meccanismo per utilizzare un servizio di un altro fornitore. Gli sviluppatori di app possono anche trovarsi nella situazione in cui devono utilizzare meccanismi diversi per utilizzare i servizi dello stesso fornitore.

Rendere disponibili i servizi tramite Apigee Edge

Apigee Edge ti consente di fornire un accesso sicuro ai tuoi servizi con un'API ben definita e coerente in tutti i tuoi servizi, indipendentemente dall'implementazione del servizio. Un'API coerente:

  • Consente agli sviluppatori di app di utilizzare facilmente i tuoi servizi.
  • Ti consente di modificare l'implementazione del servizio di backend senza influire sull'API pubblica.
  • Ti consente di sfruttare le funzionalità di analisi, monetizzazione, portale per sviluppatori e altre integrate in Edge.

L'immagine seguente mostra un'architettura in cui Edge gestisce le richieste delle app client ai tuoi servizi di backend:

Apigee Edge si trova tra le applicazioni client e i servizi di backend.

Anziché utilizzare direttamente i tuoi servizi, gli sviluppatori di app accedono a un proxy API creato su Edge. Il proxy API funziona come mappatura di un endpoint HTTP disponibile pubblicamente al tuo servizio di backend. Creando un proxy API, consenti a Edge di gestire le attività di sicurezza e di autorizzazione necessarie per proteggere i tuoi servizi, nonché di analizzarli, monitorarli e monetizzarli.

Poiché gli sviluppatori di app inviano richieste HTTP a un proxy API anziché direttamente ai tuoi servizi, non devono conoscere nulla dell'implementazione dei tuoi servizi. Lo sviluppatore deve solo sapere:

  • L'URL dell'endpoint del proxy API.
  • Eventuali parametri di ricerca, intestazioni o parametri del corpo passati in una richiesta.
  • Eventuali credenziali di autenticazione e autorizzazione richieste.
  • Il formato della risposta, incluso il formato dei dati della risposta, ad esempio XML o JSON.

Il proxy API isola lo sviluppatore di app dal tuo servizio di backend. Pertanto, puoi cambiare l'implementazione del servizio purché l'API pubblica rimanga coerente. Mantenendo un'API frontend coerente, le app client esistenti continueranno a funzionare indipendentemente dalle modifiche apportate al backend.

Puoi utilizzare i criteri sul proxy API per aggiungere funzionalità a un servizio senza dover apportare modifiche al servizio di backend. Ad esempio, puoi aggiungere criteri al proxy per eseguire trasformazioni e filtri dei dati, aggiungere sicurezza, eseguire logica condizionale o codice personalizzato e svolgere molte altre azioni. L'importante da ricordare è che devi implementare i criteri su Edge, non sul server di backend.

Per ulteriori informazioni, consulta Informazioni sulle API e sui proxy API.

Creare un prodotto API

Un proxy API è l'endpoint HTTP su Apigee Edge utilizzato dagli sviluppatori per accedere ai tuoi servizi di backend. Sebbene sia possibile, in genere non rendi disponibili singoli proxy API. raggruppa invece uno o più proxy API in un prodotto API.

Un prodotto API è un insieme di proxy API combinati con un piano di servizio. Questo piano di servizio può impostare limiti di accesso ai proxy API, fornire sicurezza, consentire il monitoraggio e l'analisi e offrire funzionalità aggiuntive. I prodotti API sono anche il meccanismo centrale utilizzato da Edge per l'autorizzazione e il controllo dell'accesso alle API.

Hai a disposizione una grande flessibilità durante la creazione di prodotti API. Ad esempio, più prodotti API possono condividere lo stesso proxy API. La figura seguente mostra tre prodotti API. Tieni presente che tutti i prodotti consentono l'accesso al proxy API 3, ma solo il prodotto A consente l'accesso al proxy API 1.

Il prodotto A accede ai proxy 1 e 3. Il prodotto B accede al proxy 3.
    Il prodotto C accede ai proxy 2, 3 e 4.

Puoi impostare proprietà diverse su ogni prodotto API. Ad esempio, potresti mettere a disposizione un prodotto API con un limite di accesso ridotto, ad esempio 1000 richieste al giorno, a un prezzo scontato. Poi, rilasci un altro prodotto API che fornisce l'accesso allo stesso proxy API, ma con un limite di accesso molto più elevato, a un prezzo superiore. In alternativa, puoi creare un prodotto API gratuito che consenta accesso di sola lettura ai tuoi servizi e poi vendere un prodotto API agli stessi proxy API che consentono l'accesso in lettura/scrittura.

Per saperne di più, consulta Gestire i prodotti API.

Consentire a un'app lato client di accedere al tuo prodotto API

Quando gli sviluppatori di app decidono di accedere ai tuoi servizi, devono prima registrare la loro app client con il tuo prodotto API.

Un'app client
        ha bisogno di una chiave per chiamare un'API associata a un prodotto API.

Al momento della registrazione, uno sviluppatore di app riceve una chiave API che deve includere in ogni richiesta a un proxy API incluso nel prodotto API. La chiave viene autenticata e, se l'autenticazione va a buon fine, la richiesta è autorizzata ad accedere al servizio di backend.

Puoi revocare la chiave in qualsiasi momento in modo che l'app client non abbia più accesso ai tuoi servizi. In alternativa, puoi definire un limite di tempo per una chiave in modo che lo sviluppatore debba aggiornarla dopo un'ora specifica.

Sei tu a decidere come gestire le richieste di registrazione degli sviluppatori per accedere ai tuoi prodotti API. Con Apigee Edge Developer Services, puoi automatizzare la procedura di registrazione oppure utilizzare una procedura manuale per controllare l'accesso.

Crea prodotti API e mettili a disposizione degli sviluppatori

  1. Crea uno o più proxy API che mappano gli URL disponibili pubblicamente ai tuoi servizi di backend.
  2. Crea un prodotto API che raggruppa i tuoi proxy API.
  3. Esegui il deployment dei proxy API e del prodotto API.
  4. Fai sapere agli sviluppatori che il prodotto API è disponibile.

Una volta che gli sviluppatori di app vengono a conoscenza della disponibilità del tuo prodotto API, possono:

  1. Registra le app client con il tuo prodotto API.
  2. Ricevere una chiave API per il prodotto API.
  3. Invia richieste ai tuoi servizi tramite proxy API (che sono inclusi nel prodotto API) e passa la chiave API con ogni richiesta.

Componenti di Apigee Edge

Apigee Edge è costituito da runtime, monitoraggio e analisi delle API e servizi per sviluppatori che insieme forniscono un'infrastruttura completa per la creazione, la sicurezza, la gestione e le operazioni delle API.

La figura seguente mostra i servizi Edge:

Gli sviluppatori accedono all'ecosistema per gli sviluppatori, che include SmartDocs, portale personalizzabile, gestione delle chiavi self-service e SDK. Le app e i servizi accedono al runtime dell'API, che include gateway, connettori, codice personalizzato, sicurezza e API di gestione. Gli esperti di operazioni accedono a monitoraggio e analisi, tra cui report aziendali, monitoraggio del rendimento, report personalizzati e traccia.

Tempo di esecuzione dell'API Edge

I servizi API di Apigee Edge sono pensati per creare e utilizzare le API, indipendentemente dal fatto che tu stia creando proxy API come fornitore di servizi o utilizzando API, SDK e altri servizi di praticità come sviluppatore di app.

Il server di gestione delle API fornisce strumenti per aggiungere e configurare i proxy API, configurare i prodotti API e gestire gli sviluppatori di app e le app client. Ridistribuisce molti problemi di gestione comuni dai tuoi servizi di backend. Quando aggiungi un proxy API, puoi applicare criteri per aggiungere sicurezza, limitazione di frequenza, mediazione, memorizzazione nella cache e così via. Puoi anche personalizzare il comportamento del proxy API applicando script personalizzati, effettuando chiamate ad API e servizi di terze parti e così via. Per saperne di più, consulta la sezione Informazioni sulle API e sui proxy API.

Se sei uno sviluppatore Node.js, puoi aggiungere facilmente i tuoi moduli Node.js a Edge per creare API e mashup di API, sfruttando al contempo i vantaggi offerti da Edge, dalla trasformazione dei messaggi alla sicurezza e all'analisi.

Monitoraggio e analisi di edge

Apigee Edge API Analytics fornisce potenti strumenti per visualizzare le tendenze di utilizzo breve e lungo termine delle tue API. Puoi segmentare il pubblico in base agli sviluppatori e alle app più importanti, comprendere l'utilizzo in base al metodo API per sapere dove investire e creare report personalizzati su informazioni a livello di attività o operativo.

Quando i dati passano per Edge, vengono raccolti diversi tipi di informazioni predefinite, tra cui URL, IP, ID utente per le informazioni sulle chiamate API, latenza, dati di errore e così via. Puoi creare criteri per aggiungere altre informazioni, ad esempio intestazioni, parametri di ricerca e parti di una richiesta o risposta estratte da XML o JSON. Queste informazioni vengono raccolte in modo asincrono dal flusso di richiesta/risposta effettivo e pertanto non influiscono sulle prestazioni dell'API.

L'interfaccia utente di gestione ti consente di visualizzare più metriche e dimensioni in un browser, come mostrato nella seguente figura:

Una dashboard di analisi che mostra il numero di errori delle norme in formato tabulare e grafico.

Tuttavia, puoi anche accedere e controllare il servizio Analytics tramite un'interfaccia a riga di comando o tramite API RESTful. Per saperne di più, consulta la panoramica dell'analisi delle API.

Ecosistema di sviluppatori per l'edge

Apigee Edge fornisce servizi per gli sviluppatori che ti consentono di:

  • Gestisci la community di sviluppatori di app che utilizzano i tuoi servizi.
  • Collabora con sviluppatori interni ed esterni e formalizza le relazioni con i modelli finanziari.
  • Coinvolgi gli sviluppatori e crea un portale per sviluppatori. Gli sviluppatori di app si connettono al tuo portale per accedere alla documentazione dell'API e approfondire i tuoi prodotti API disponibili pubblicamente e gestire le chiavi API.

Ogni cliente Edge può creare il proprio portale per sviluppatori, nel cloud o on-premise, con Apigee Edge for Private Cloud.

Apigee Edge ti consente di creare due tipi di portali:

Monetizzazione

Le funzionalità di monetizzazione forniscono l'infrastruttura e le relazioni finanziarie per trasformare la tua community di sviluppatori in un vero e proprio canale per i tuoi asset digitali. Con la monetizzazione, puoi creare una serie di piani tariffari che addebitano agli sviluppatori l'utilizzo dei tuoi prodotti basati su API o pagare gli sviluppatori in scenari di condivisione delle entrate.

I piani includono piani prepagati, piani post-pagati, piani con tariffa fissa, piani con tariffa variabile, piani "freemium", piani personalizzati per sviluppatori specifici, piani che coprono gruppi di sviluppatori e altro ancora. Inoltre, la monetizzazione include funzionalità di generazione di report e fatturazione.

Per ulteriori informazioni, consulta la Panoramica della monetizzazione.

Versioni di Edge

Apigee Edge è disponibile nelle seguenti versioni:

  • Public Cloud: una versione SAAS ospitata in cui Apigee gestisce l'ambiente, consentendoti di concentrarti sulla creazione dei tuoi servizi e sulla definizione delle API per questi servizi.
  • Cloud privato:un'installazione on-premise in cui controlli l'ambiente hardware e sei responsabile dell'installazione, dell'upgrade, della manutenzione e di altre procedure amministrative.

Se ti interessa la nostra versione Apigee hybrid, consulta i seguenti argomenti di Apigee X:

Dal punto di vista funzionale, le versioni per il cloud pubblico e il cloud privato sono molto simili. Tuttavia, la versione Private Cloud non supporta tutte le funzionalità della versione Public Cloud. Le funzionalità non supportate da Private Cloud includono:

  • Target ospitati
  • Estensioni
  • Portali per sviluppatori integrati (Nota: sono supportati i portali per sviluppatori basati su Drupal)
  • Monitoraggio delle API
  • Sense

Per un elenco delle differenze tra le versioni, consulta Confronta i prodotti Apigee.

Esistono anche differenze minori tra le API, come descritto in Differenze tra API Edge per il cloud pubblico e API Private Cloud.

Il cloud pubblico supporta gli account sia senza costi che a pagamento. Il cloud privato richiede account a pagamento.

Per supportare completamente un'installazione on-premise, la versione del cloud privato include componenti come il server di gestione Apigee, un database NoSQL Apache Cassandra, un server OpenLDAP, un router di messaggi e un elaboratore di messaggi.