Panoramica di Eventarc Standard

Eventarc ti consente di creare architetture basate su eventi senza dover implementare, personalizzare o gestire l'infrastruttura sottostante.

Eventarc è disponibile in due versioni: Eventarc Advanced e Eventarc Standard. Entrambe le versioni offrono una soluzione di gestione degli eventi scalabile, serverless e completamente gestita che consente di instradare gli eventi in modo asincrono dalle origini alle destinazioni. Per saperne di più, vedi Scegliere Eventarc Advanced o Eventarc Standard.

Eventarc Standard offre una soluzione standardizzata per gestire il flusso delle modifiche dello stato, chiamate eventi, tra microservizi disaccoppiati. Quando viene attivato, Eventarc Standard indirizza questi eventi a varie destinazioni (in questo documento, vedi Destinazioni degli eventi) e gestisce per te la distribuzione, la sicurezza, l'autorizzazione, l'osservabilità e la gestione degli errori.

Puoi gestire Eventarc dalla console Google Cloud , dalla riga di comando utilizzando gcloud CLI o utilizzando l'API Eventarc.

Eventarc indirizza gli eventi dai provider di eventi alle destinazioni di eventi.
Eventarc Standard ti consente di instradare gli eventi dai provider di eventi alle destinazioni degli eventi (fai clic sul diagramma per ingrandirlo).

1 Eventi dei provider Google vengono inviati direttamente dall'origine (ad esempio Cloud Storage) o tramite le voci di Cloud Audit Logs e utilizzano Pub/Sub come livello di trasporto. Gli eventi provenienti da origini Pub/Sub possono utilizzare un argomento Pub/Sub esistente oppure Eventarc creerà e gestirà automaticamente un argomento per te.

2 Gli eventi per le destinazioni Google Kubernetes Engine (GKE), inclusi i servizi Knative Serving in esecuzione in un cluster GKE, utilizzano Event Forwarder di Eventarc per estrarre nuovi eventi da Pub/Sub e inoltrarli alla destinazione. Questo componente funge da mediatore tra il livello di trasporto di Pub/Sub e il servizio di destinazione. Funziona con i servizi esistenti e supporta anche i servizi di segnalazione (inclusi quelli non esposti all'esterno del cluster completamente gestito), semplificando la configurazione e la manutenzione. Tieni presente che il ciclo di vita dell'inoltro di eventi è gestito da Eventarc e che, se lo elimini accidentalmente, Eventarc ripristinerà questo componente.

3 Gli eventi per l'esecuzione di un flusso di lavoro vengono trasformati e passati al flusso di lavoro come argomenti runtime. Workflows può combinare e orchestrare Google Cloud e i servizi API basati su HTTP in un ordine definito da te.

4 Tutte le funzioni basate su eventi in Cloud Run Functions utilizzano trigger Eventarc per distribuire gli eventi. Puoi configurare i trigger Eventarc quando esegui il deployment di una funzione Cloud Run utilizzando l'interfaccia Cloud Run Functions.

Principali casi d'uso

Eventarc supporta molti casi d'uso per le applicazioni di destinazione. Ecco alcuni esempi:

Configurare e monitorare
  • Configurazione del sistema: installa uno strumento di gestione della configurazione su una nuova VM all'avvio.
  • Correzione automatica: rileva se un servizio non risponde correttamente e lo riavvia automaticamente.
  • Avvisi e notifiche: monitora il saldo di un indirizzo del portafoglio di criptovalute e attiva le notifiche.
Armonizza
  • Registrazioni nella directory: attiva un badge dipendente quando un nuovo dipendente entra a far parte di un'azienda.
  • Sincronizzazione dei dati: attiva un flusso di lavoro di contabilità quando un potenziale cliente viene convertito in un sistema CRM.
  • Etichettatura delle risorse: etichetta e identifica l'autore di una VM quando viene creata.
Analizza
  • Analisi del sentiment: utilizza l'API Cloud Natural Language per addestrare e implementare un modello di machine learning che assegna un punteggio di soddisfazione a un ticket di assistenza clienti al termine.
  • Ritocco e analisi delle immagini: rimuovi lo sfondo e classifica automaticamente un'immagine quando un rivenditore la aggiunge a un archivio di oggetti.

Eventi

Un evento è un record di dati che esprime un'occorrenza e il relativo contesto. Un evento è un'unità di comunicazione discreta, indipendente da altri eventi. Ad esempio, un evento potrebbe indicare una modifica ai dati di un database, un file aggiunto a un sistema di archiviazione o un job pianificato.

Consulta Tipi di eventi Google supportati da Eventarc.

Provider di eventi

Gli eventi vengono instradati da un provider di eventi (l'origine) ai consumatori di eventi interessati. Il routing viene eseguito in base alle informazioni contenute nell'evento, ma un evento non identifica una destinazione di routing specifica. Eventarc supporta eventi provenienti da più di 130 provider Google. Questi provider inviano eventi (ad esempio, un aggiornamento a un oggetto in un bucket Cloud Storage o un messaggio pubblicato in un argomento Pub/Sub) direttamente dall'origine o tramite le voci di Cloud Audit Logs.

Destinazioni degli eventi

Gli eventi vengono indirizzati a una destinazione specifica (il target) nota come ricevitore (o consumer) di eventi tramite le sottoscrizioni push Pub/Sub.

Cloud Run

Scopri come creare un servizio di ricezione di eventi che può essere implementato in Cloud Run.

Per determinare il modo migliore per instradare gli eventi a un servizio Cloud Run, consulta Route degli eventi.

Cloud Run Functions

Tutte le funzioni basate sugli eventi in Cloud Run Functions utilizzano i trigger Eventarc per distribuire gli eventi. Un trigger Eventarc consente l'attivazione di una funzione da parte di qualsiasi tipo di evento supportato da Eventarc. Puoi configurare i trigger Eventarc quando esegui il deployment di una funzione Cloud Run utilizzando l'interfaccia Cloud Run Functions.

GKE

Eventarc supporta la creazione di trigger che hanno come target i servizi Google Kubernetes Engine (GKE). Sono inclusi gli endpoint pubblici dei servizi privati e pubblici in esecuzione in un cluster GKE.

  • Affinché Eventarc possa scegliere come target e gestire i servizi in un determinato cluster, devi concedere alaccount di serviziot Eventarc tutte le autorizzazioni necessarie.

  • Devi abilitare Workload Identity Federation for GKE sul cluster GKE su cui è in esecuzione il servizio di destinazione. Workload Identity Federation for GKE è necessario per configurare correttamente l'event forwarder ed è il metodo consigliato per accedere Google Cloud ai servizi dalle applicazioni in esecuzione in GKE grazie al miglioramento delle sue proprietà di sicurezza e della sua gestibilità. Per maggiori informazioni, consulta Abilitare Workload Identity.

Endpoint HTTP interni in una rete VPC

Puoi configurare il routing degli eventi a un endpoint HTTP interno in una rete Virtual Private Cloud (VPC). Per configurare il trigger, devi fornire anche un ID collegamento di rete. Per maggiori informazioni, vedi Instradare gli eventi a un endpoint HTTP interno in una rete VPC.

Workflow

Puoi attivare l'esecuzione di un workflow. Workflows richiede un indirizzo email dell'account di servizio IAM che il trigger Eventarc utilizzerà per richiamare le esecuzioni del workflow. Ti consigliamo di utilizzare un account di servizio con i privilegi minimi necessari per accedere alle risorse richieste. Per ulteriori informazioni, vedi Creare e gestire i service account.

Formato degli eventi e librerie

Eventarc distribuisce gli eventi, indipendentemente dal provider, alla destinazione di destinazione in formato CloudEvents utilizzando una richiesta HTTP in modalità di contenuti binari. CloudEvents è una specifica per descrivere i metadati degli eventi in modo comune.

A seconda del fornitore di eventi, puoi specificare la codifica dei dati del payload dell'evento come application/json o application/protobuf. Protocol Buffers (o Protobuf) è un meccanismo estensibile indipendente dal linguaggio e dalla piattaforma per la serializzazione dei dati strutturati. Tieni presente quanto segue:

  • Per le origini personalizzate o i fornitori di terze parti oppure per gli eventi diretti da Pub/Sub, questa opzione di formattazione non è supportata.
  • Un payload evento formattato in JSON è più grande di uno formattato in Protobuf e questo potrebbe influire sull'affidabilità a seconda della destinazione dell'evento e dei limiti di dimensioni dell'evento. Per ulteriori informazioni, vedi Problemi noti.

Le destinazioni di destinazione come Cloud Run Functions, Cloud Run e GKE utilizzano gli eventi nel formato HTTP. Per le destinazioni Workflows, il servizio Workflows converte l'evento in un oggetto JSON e lo passa all'esecuzione del workflow come argomento runtime.

L'utilizzo di un modo standard per descrivere i metadati degli eventi garantisce coerenza, accessibilità e portabilità. I consumer di eventi possono leggere questi eventi direttamente oppure puoi utilizzare le librerie client Cloud in vari linguaggi (tra cui C++, C#, Go, Java, Node.js, PHP, Python e Ruby) per leggere e analizzare gli eventi. Esiste anche un insieme di SDK CloudEvents specifici per i vari linguaggi.

La struttura del corpo HTTP per tutti gli eventi è disponibile nel repository GitHub di Google CloudEvents.

Eventarc pubblica gli eventi in formato CloudEvents. Puoi leggere gli eventi
    direttamente o utilizzare gli SDK o le librerie Google CloudEvents per analizzarli.
Figura 2. Eventarc distribuisce gli eventi in formato CloudEvents alle destinazioni degli eventi. Puoi leggere questi eventi direttamente o utilizzare gli SDK CloudEvents o le librerie Google per leggere e analizzare gli eventi.

Compatibilità con le versioni precedenti

Eventarc considera l'aggiunta dei seguenti attributi e campi compatibile con le versioni precedenti:

  • Attributi di filtro facoltativi o attributi di sola visualizzazione
  • Campi facoltativi nel payload dell'evento

Trigger Eventarc

Gli eventi si verificano indipendentemente dal fatto che una destinazione di destinazione reagisca o meno. Puoi creare una risposta a un evento utilizzando un trigger. Un trigger è una dichiarazione di interesse per un determinato evento o insieme di eventi. Quando crei un trigger, specifichi i filtri per il trigger che ti consentono di acquisire e intervenire su eventi specifici, incluso il loro routing da un'origine eventi a una destinazione di destinazione. Per saperne di più, consulta la rappresentazione REST di una risorsa trigger e Fornitori ed eventi di destinazione.

Tieni presente che gli abbonamenti Pub/Sub creati per Eventarc vengono mantenuti indipendentemente dall'attività e non scadono. Per modificare le proprietà dell'abbonamento, consulta la sezione Proprietà dell'abbonamento.

Eventarc supporta i trigger per questi tipi di eventi:

Eventi Cloud Audit Logs (CAL)
DescrizioneCloud Audit Logs fornisce audit log per l'attività di amministrazione e l'accesso ai dati per ogni progetto, cartella e organizzazione Cloud. I servizi Google Cloud scrivono le voci in questi log. Puoi creare filtri per i trigger Eventarc utilizzando i valori serviceName e methodName nei log di controllo. Per i valori esatti, fai riferimento a Google Cloud servizi con audit log. Per ulteriori informazioni, vedi Determinare i filtri eventi per Cloud Audit Logs.
Tipo di filtro eventiI trigger Eventarc con type=google.cloud.audit.log.v1.written inviano richieste al tuo servizio o flusso di lavoro quando viene creato un log di controllo che corrisponde ai criteri di filtro del trigger.
Eventi diretti
DescrizioneEventarc può essere attivato da vari eventi diretti, ad esempio un aggiornamento di un bucket Cloud Storage, un aggiornamento di un modello Firebase Remote Config o modifiche alle risorse sui servizi Google Cloud .

Eventarc può essere attivato anche da messaggi pubblicati negli argomenti Pub/Sub. Pub/Sub è un bus di messaggi distribuito a livello globale che scala automaticamente in base alle esigenze. Poiché Eventarc può essere richiamato dai messaggi su un argomento Pub/Sub, puoi integrarlo con qualsiasi altro servizio che supporti Pub/Sub come destinazione.

Tipo di filtro eventiI trigger Eventarc con tipi di filtri per eventi specifici inviano richieste al tuo servizio o flusso di lavoro quando si verifica un evento che corrisponde ai criteri di filtro del trigger; ad esempio, type=google.cloud.storage.object.v1.finalized (quando viene creato un oggetto in un bucket Cloud Storage) o type=google.cloud.pubsub.topic.v1.messagePublished (quando viene pubblicato un messaggio nell'argomento Pub/Sub specificato).

Posizione del trigger

Google Cloud servizi come Cloud Storage possono essere configurati per essere regionali o multiregionali. Alcuni servizi, come Cloud Build, possono essere configurati a livello globale.

Eventarc ti consente di creare trigger regionali o, per alcuni eventi, puoi creare un trigger globale e ricevere eventi da tutte le regioni. Per ulteriori informazioni, consulta Informazioni sulle località Eventarc.

Devi specificare la posizione del trigger Eventarc in modo che corrisponda alla posizione del servizio Google Cloud che genera eventi ed evitare problemi di rendimento e residenza dei dati causati da un trigger globale.

Puoi specificare le posizioni di attivazione utilizzando un flag --location con ogni comando. Per le destinazioni Cloud Run, se non viene specificato un flag --destination-run-region, si presume che il servizio si trovi nella stessa regione del trigger. Per ulteriori informazioni, consulta il riferimento di Google Cloud CLI.

Affidabilità e pubblicazione

Le aspettative di consegna sono le seguenti:

  • Gli eventi che utilizzano Cloud Audit Logs vengono recapitati in meno di un minuto. (Tieni presente che, sebbene un trigger di Cloud Audit Logs venga creato immediatamente, potrebbero essere necessari fino a due minuti prima che un trigger si propaghi e filtri gli eventi.)
  • Gli eventi che utilizzano Pub/Sub vengono recapitati in pochi secondi.

Non è garantita la consegna in ordine di arrivo. Tieni presente che un ordinamento rigoroso comprometterebbe le funzionalità di disponibilità e scalabilità di Eventarc, che corrispondono a quelle del livello di trasporto, Cloud Pub/Sub. Per ulteriori informazioni, consulta la sezione Ordinamento dei messaggi.

Latenza e velocità effettiva sono basate sul "best effort". Variano in base a più fattori, tra cui se il trigger Eventarc è regionale, multiregionale o globale, la configurazione di un servizio specifico e il carico di rete sulle risorse in una regione. Google Cloud

Tieni presente che esistono quote e limiti di utilizzo che si applicano generalmente a Eventarc. Esistono anche quote e limiti di utilizzo specifici per Workflows.

Policy di ripetizione degli eventi

Le caratteristiche di ripetizione dei tentativi di Eventarc corrispondono a quelle del suo livello di trasporto, Cloud Pub/Sub. La durata predefinita di conservazione dei messaggi impostata da Eventarc è di 24 ore con un ritardo di backoff esponenziale.

Puoi aggiornare il criterio di ripetizione tramite la sottoscrizione Pub/Sub associata al trigger Eventarc. Per saperne di più, vedi Eventi di ripetizione.

Osservabilità

Google Cloud Observability fornisce strumenti di monitoraggio, logging e diagnostica. Questi strumenti possono aiutarti a monitorare e analizzare l'attività e la crescita di Eventarc e a comprendere il comportamento, l'integrità e le prestazioni delle tue applicazioni. Per ulteriori informazioni, vedi Osservabilità in Eventarc.

I log dettagliati per Eventarc, Cloud Run, Cloud Run Functions, GKE, Pub/Sub e Workflows sono disponibili in Cloud Audit Logs.

Disaster recovery

Puoi sfruttare zone e regioni per ottenere affidabilità in caso di interruzioni. Per scoprire di più su come garantire il rispetto degli obiettivi RTO (Recovery Time Objective) e RPO (Recovery Point Objective) per i tempi di backup e ripristino quando utilizzi Eventarc, consulta Progettazione del ripristino di emergenza per interruzioni dell'infrastruttura cloud.

Standard di conformità

Eventarc Standard è conforme a certificazioni e standard specifici. Per evitare di utilizzare risorse Eventarc Advanced non conformi, puoi creare un criterio dell'organizzazione personalizzato che disabilita le risorse Eventarc Advanced. Per maggiori informazioni, vedi Disattivare le risorse Eventarc Advanced.

Passaggi successivi