Panoramica di Service Extensions

Service Extensions consente agli utenti dei prodotti Google Cloud, come Cloud Load Balancing e Media CDN, di inserire codice personalizzato direttamente nel percorso dei dati. Google Cloud In questo modo, puoi personalizzare il comportamento di questi prodotti in base alle esigenze della tua attività. Questa pagina fornisce una panoramica generale delle Service Extensions.

Tipi di estensioni

Il percorso dei dati nei prodotti di networking, come Cloud Load Balancing e Media CDN, può essere visualizzato come una pipeline di fasi di elaborazione dei dati. Le estensioni di servizio ti consentono di inserire una logica personalizzata in una o più di queste fasi.

Service Extensions offre due modi per inserire la logica personalizzata: plug-in e callout.

Plug-in

I plug-in ti consentono di inserire codice personalizzato inline nel percorso dei dati di networking. Questi plug-in vengono creati utilizzando WebAssembly (Wasm) e l'ABI Proxy-Wasm.

I plug-in vengono eseguiti come moduli Wasm su un'infrastruttura sandbox gestita da Google simile a un'infrastruttura serverless. I plug-in vengono eseguiti su risorse di calcolo gestite da Google. Hanno funzionalità limitate e requisiti di runtime rigorosi. Vengono eseguiti vicino al piano dati e l'ottimizzazione della latenza viene gestita. La figura seguente mostra come funzionano i plug-in.

I plug-in includono la logica personalizzata in linea.
I plug-in includono la logica personalizzata in linea (fai clic per ingrandire).

Per saperne di più sui plug-in, consulta Panoramica dei plug-in.

Callout

I riquadri ti consentono di utilizzare Cloud Load Balancing per effettuare chiamate gRPC Envoy a servizi Google e servizi gestiti dall'utente durante l'elaborazione dei dati.

I callout vengono eseguiti come server gRPC generici su VM di Compute Engine gestite dall'utente, su pod Google Kubernetes Engine (GKE) su GKE Multi-Cloud o in ambienti on-premise. La figura seguente mostra come funzionano i callout ai servizi.

I callout includono la logica personalizzata dei servizi.
I callout includono una logica personalizzata dei servizi (fai clic per ingrandire).

I callout non hanno limitazioni di runtime e possono riutilizzare il software esistente, se necessario. Con i callout, puoi usufruire dei vantaggi dei servizi completamente gestiti che sono anche personalizzabili per soddisfare le esigenze specifiche di carichi di lavoro particolari. Devi solo confermare la scalabilità e la disponibilità del tuo servizio di callout.

Per saperne di più sui callout, consulta la panoramica dei callout di Cloud Load Balancing.

Estensioni di Cloud Load Balancing

Service Extensions per Cloud Load Balancing consente agli utenti di aggiungere una personalizzazione avanzata ai percorsi di elaborazione delle richieste e delle risposte di bilanciamento del carico per i bilanciatori del carico delle applicazioni supportati.

Per saperne di più, consulta la panoramica delle estensioni di Cloud Load Balancing.

Plug-in

Service Extensions ti aiuta a utilizzare i plug-in prepubblicati per le tue esigenze personalizzate aggiungendoli al percorso di elaborazione di Cloud Load Balancing.

Utilizza i plug-in con Cloud Load Balancing nei seguenti scenari di esempio:

Gestione delle eccezioni
Reindirizza i client a una pagina di errore personalizzata per alcune classi di risposte.
Logging personalizzato
Registra intestazioni definite dall'utente o dati personalizzati in Cloud Logging.
Aggiunta di intestazioni
Crea nuove intestazioni pertinenti per le tue applicazioni o per clienti specifici.
Inserisci nuove intestazioni per la richiesta e la risposta.
Manipolazione dell'intestazione
Riscrivi le intestazioni delle richieste e delle risposte esistenti o esegui l'override delle intestazioni inviate dai client durante il trasferimento al backend o durante la risposta a un client.
Sicurezza
Scrivi policy di sicurezza personalizzate in base alle intestazioni delle richieste o delle risposte dei client e prendi decisioni sull'applicazione all'interno del plug-in.
Inserimento di script
Riscrivi l'HTML dall'origine per l'integrazione di Google reCAPTCHA o il tagging di Google Analytics.
Influenzare Cloud CDN
Manipola le caratteristiche delle richieste HTTP per influenzare le dinamiche di memorizzazione nella cache personalizzate e determinare quali contenuti vengono pubblicati dalla cache Cloud CDN.
Routing
Riscrivi le richieste HTTP per influenzare la scelta del servizio di backend, consentendo decisioni di routing più avanzate all'edge.

Callout ai servizi gestiti dall'utente

Service Extensions consente ai bilanciatori del carico delle applicazioni supportati di inviare un callout dal percorso di elaborazione dei dati ai servizi di backend gestiti dall'utente.

Utilizza i callout con Cloud Load Balancing per:

  • Quando la quantità di calcolo o spazio di archiviazione è arbitraria
  • Quando vuoi mantenere lo stato
  • Quando vuoi utilizzare servizi esterni, come BigQuery o applicazioni di terze parti ospitate ovunque

I callout sono molto flessibili e supportano una serie di personalizzazioni. Di seguito sono riportati alcuni esempi di casi d'uso quotidiani:

Gestione del traffico e routing personalizzato
Esegui reindirizzamenti HTTP o URL.
Modifica gli attributi della richiesta, come intestazioni o URL, in base alla logica specifica dell'applicazione per forzare la mappa URL a scegliere un servizio di backend diverso da quello originariamente scelto dalla richiesta.
Aggiungi, rimuovi o modifica le intestazioni o riscrivi gli URL in base a una logica complessa specifica dell'applicazione prima di inoltrare il traffico al servizio di backend.
Implementa l'affinità sessione personalizzata o la persistenza in base agli attributi specifici di una richiesta.
In Anteprima, implementa l'inoltro dinamico, che mappa i tenant agli endpoint in modo programmatico.
Sicurezza e logging
Registra informazioni personalizzate da payload o intestazioni personalizzate in Logging o in una soluzione di logging personalizzata.
Utilizza strumenti o servizi di sicurezza, inclusi l'autenticazione e l'autorizzazione personalizzate degli utenti.
Convalida intestazioni e parametri di ricerca arbitrari, ad esempio ID dispositivo.
Registra le richieste e le risposte nelle soluzioni di logging di terze parti.
Implementa l'autenticazione e l'autorizzazione utente personalizzate.
Integrazione del partner
Integra prodotti di sicurezza, come la sicurezza di API Gateway, la gestione dei bot o il web application firewall (WAF).
Autorizzazione
Arricchisci il processo decisionale di autorizzazione o limita ulteriormente le decisioni di autorizzazione dai motori di autorizzazione integrati forniti da Google.
Combina le decisioni di autorizzazione di più sistemi di autorizzazione.
Integra perfettamente i motori di autorizzazione Google con ecosistemi e infrastrutture di autorizzazione più ampi, inclusi motori di policy esterni.

Per saperne di più, consulta la panoramica delle estensioni Cloud Load Balancing e Cloud CDN.

Callout ai servizi Google

Service Extensions consente ai bilanciatori del carico delle applicazioni supportati di inviare un callout dal percorso di elaborazione dei dati ai servizi Google selezionati.

Puoi configurare un'estensione per chiamare Model Armor per applicare in modo uniforme le policy di sicurezza al traffico di inferenza sui bilanciatori del carico delle applicazioni, incluso GKE Inference Gateway.

Per saperne di più, vedi Integrazione con i servizi Google.

Estensioni GKE

Il gateway Google Kubernetes Engine (GKE) supporta l'utilizzo di estensioni per aggiungere codice personalizzato al percorso di elaborazione del bilanciamento del carico. Puoi utilizzare queste estensioni per personalizzare il routing, modificare i payload di richiesta o risposta e integrarti con servizi esterni.

Per saperne di più, consulta Personalizza il routing del traffico del gateway GKE utilizzando le estensioni di servizio.

Estensioni di Media CDN

Media CDN offre molte funzionalità di base integrate per risolvere i casi d'uso più comuni per le reti CDN (Content Delivery Network). Le estensioni di servizio ti aiutano a soddisfare diversi requisiti che vanno oltre queste funzionalità.

Per saperne di più, consulta la panoramica delle estensioni di Media CDN.

Plug-in per Media CDN

Service Extensions ti aiuta a utilizzare i plug-in pre-pubblicati per le tue esigenze personalizzate aggiungendoli al percorso di elaborazione di Media CDN.

Di seguito sono riportati alcuni casi d'uso chiave in cui puoi utilizzare i plug-in con Media CDN:

Personalizzazione
Riscrivi gli URL delle richieste.
Normalizza i valori delle intestazioni per migliorare il rendimento della cache.
Sicurezza e logging
Durante gli eventi live, blocca gli utenti con token piratati.
Supporta l'autenticazione e l'autorizzazione personalizzate degli utenti.
Traduci e implementa la firma degli URL personalizzati.
Personalizza le chiavi cache, le intestazioni specifiche dell'applicazione o i tipi di dispositivo.
Registra le variabili personalizzate in Cloud Logging.
Targeting e monetizzazione
Migliora le conversioni tramite i test A/B.
Implementa il targeting degli annunci personalizzato.
Offri modelli di utilizzo della prova senza costi aggiuntivi.
Integrazione del partner
Implementa l'applicazione della filigrana sui video.
Ottimizza video e immagini.