Questo documento è rivolto agli architetti aziendali e agli sviluppatori software che vogliono creare una pipeline di automazione per utilizzare Active Assist nella loro Google Cloud organizzazione. Fa parte di una serie che illustra i pattern di architettura che le aziende possono utilizzare per ottimizzare il proprio impatto sul cloud su larga scala utilizzando Active Assist. La serie è composta dalle seguenti parti:
- Pattern per l'utilizzo di Active Assist su larga scala
- Utilizzo di pipeline serverless con Active Assist (questo documento)
- Utilizzare la toolchain di GKE Enterprise con Active Assist
Questo tutorial mostra come utilizzare le Google Cloud tecnologie serverless per creare una pipeline di automazione per recuperare ed elaborare i consigli di Active Assist. I consigli si basano sulle regole aziendali impostate dalla tua azienda. La pipeline di automazione configurata in questo tutorial ti aiuta a lavorare con Active Assist su larga scala, mantenendo al contempo un processo di revisione e attivazione guidato dal team. Questo approccio è utile quando la tua azienda vuole scalare l'utilizzo del portafoglio di assistenza attiva, ma mantenere il controllo del processo di revisione e attivazione all'interno dei team. Offre un'alternativa all'utilizzo di una pipeline di integrazione e distribuzione continua (CI/CD).
L'architettura dimostrata in questo tutorial è generica e puoi estenderla per farla funzionare con altri prodotti serverless. Il tutorial presuppone che tu abbia familiarità con le seguenti Google Cloud tecnologie:
Per completare questo tutorial, devi disporre di un account Slack o di uno strumento di elaborazione di notifiche o richieste simile. Lo strumento deve essere configurato sulla tua macchina e pronto per l'uso.
Architettura
Poiché l'architettura dimostrata in questo tutorial è modulare, puoi adattare il componente delle notifiche in base ai requisiti della tua attività. Questo tutorial mostra come generare notifiche e inviarle a Slack. Puoi anche scegliere di inviare notifiche a Pub/Sub o a qualsiasi altro strumento di elaborazione di notifiche o richieste.
Il seguente diagramma di architettura mostra i componenti utilizzati in questo tutorial:
L'architettura è composta dai seguenti componenti:
- Un servizio Cloud Run attivato da un programmatore a intervalli fissi. Il servizio richiama le API Recommender leggendo i metadati (ID progetto e tipi di consigli) definiti e memorizzati in una raccolta Firestore.
- Un argomento Pub/Sub in cui vengono inviati e elaborati i consigli di Active Assist.
- Un secondo servizio Cloud Run che analizza i consigli di Active Assist. Questo servizio determina in che modo vengono elaborati i consigli in base alle regole aziendali definite dalla tua azienda e memorizzate in una raccolta Firestore.
- Due raccolte Firestore per archiviare i metadati e le regole aziendali. Le raccolte Firestore funzionano come segue:
- La prima raccolta memorizza i metadati dell'attività pertinenti per recuperare i consigli di Active Assist. In questo tutorial, gli attributi
recommendation type
,Google Cloud project IDs
elocations
vengono utilizzati come metadati aziendali. Questi attributi vengono utilizzati dal serviziorecommendation-collector
Cloud Run per determinare i tipi di consigli da recuperare. - La seconda raccolta memorizza le regole aziendali che vengono applicate quando vengono elaborati i consigli.
- La prima raccolta memorizza i metadati dell'attività pertinenti per recuperare i consigli di Active Assist. In questo tutorial, gli attributi
Obiettivi
- Crea un servizio Cloud Run di esempio per recuperare i consigli di Active Assist per un progetto di esempio e inviarli a un argomento Pub/Sub.
- Crea due raccolte Firestore per archiviare rispettivamente i metadati di esempio e le regole aziendali.
- Crea un secondo servizio Cloud Run per elaborare i consigli in base alle regole aziendali di esempio che definisci in questo tutorial.
- Crea un canale Slack a cui il servizio Cloud Run invia suggerimenti di Active Assist di esempio.
- Testa la pipeline end-to-end con consigli di Active Assist di esempio.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.
Prima di iniziare
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
- Prendi nota dell'ID progetto Google Cloud per il progetto Recommendation Manager. Ti servirà questo ID nella sezione successiva sulla configurazione dell'ambiente.
-
Enable the Cloud Build, Firestore, App Engine,Pub/Sub, Cloud Run, Cloud Scheduler, and Cloud Source Repositories APIs.
Per questo tutorial utilizzi le credenziali predefinite dell'applicazione. Se ti viene chiesto di creare credenziali nella pagina Aggiungi credenziali al progetto, fai clic su Annulla. -
Make sure that billing is enabled for your Google Cloud project.
-
Crea quanto segue:
- Un canale Slack di esempio.
- Un'app Slack di esempio e un webhook in arrivo per ricevere le notifiche generate da un motore denominato
recommendation-rules-engine
. Configurare il motore viene spiegato più avanti in questo tutorial.
Dopo aver creato un'app Slack e un URL webhook in entrata, annotalo perché ti servirà più avanti in questo tutorial.
Creazione della pipeline serverless
In questa sezione crei i componenti necessari per creare la pipeline serverless. La piattaforma genera i consigli di Active Assist in base ai modelli di utilizzo e alle metriche di sistema. A seconda dei consigli generati, ogni categoria di consigli potrebbe utilizzare un periodo di tempo predefinito diverso nel passato per analizzare i dati e le metriche di utilizzo.
Se hai un progetto Google Cloud di esempio con risorse esistenti e consigli di Active Assist, puoi eseguire la pipeline per elaborare questi consigli dopo aver apportato le modifiche necessarie al codice campione fornito.
Crea le raccolte Firestore
In questa sezione, creerai due raccolte Firestore.
La prima, la raccolta activeassist-metadata
, memorizza i metadati dell'attività pertinenti al recupero dei consigli di Active Assist. La seconda, la raccoltaactiveassist-business-rules
, memorizza le regole aziendali applicate quando la pipeline elabora i consigli.
Quando i consigli di Active Assist vengono analizzati, in base alle regole aziendali nella raccolta Firestore viene generata e inviata una notifica oppure il consiglio viene applicato automaticamente alla risorsa Google Cloudpertinente.
Crea la raccolta activeassist-metadata
Nella console Google Cloud, vai alla pagina Firestore.
Crea un database Firestore se non ne hai già uno. In alternativa, se hai già un database Firestore, vai al passaggio successivo.
Crea il database:
- Fai clic su Seleziona modalità nativa per attivare Firestore.
- Seleziona una località della regione vicina a quella in cui vengono eseguiti i servizi Cloud Run.
- Fai clic su Crea database. Il completamento della configurazione richiede alcuni istanti.
Nella pagina Firestore, fai clic su Avvia raccolta.
Nel campo ID raccolta, inserisci quanto segue:
activeassist-metadata
.Compila i campi come mostrato nella tabella seguente. Per aggiungere il campo successivo, fai clic su Aggiungi campo.
Nome campo Tipo di campo Valore campo Nota project
string
Stub-Project-ID
Questo tutorial utilizza uno stub per il valore del campo. Se vuoi utilizzare i consigli di un progetto Google Cloud esistente, inserisci l'ID progetto. locations
array
global
Alcuni consigli potrebbero essere specifici per una regione o una zona, ad esempio i consigli per il dimensionamento ottimale delle VM. Altri suggerimenti sono globali, ad esempio i suggerimenti IAM. recommenderType
string
google.iam.policy.Recommender
Non applicabile. Quando i campi sono compilati, fai clic su Salva.
Crea la raccolta activeassist-business-rules
- Fai clic su Avvia raccolta.
Nel campo ID raccolta, inserisci quanto segue:
activeassist-business-rules
Compila il documento come mostrato nella tabella seguente. Per aggiungere il campo successivo, fai clic su Aggiungi campo.
Nome campo Tipo di campo Valore campo Nota action
string
Notify
Se imposti il valore su Apply
, il servizio applica il consiglio e rimuove il ruolo inutilizzato.projectId
string
Stub-Project-ID
Questo tutorial utilizza un consiglio stub. Se vuoi utilizzare i consigli di un progetto Google Cloud esistente, inserisci l'ID progetto. projectNumber
string
999999999
Questo tutorial utilizza un consiglio stub.
Se utilizzi un consiglio di un progetto Google Cloud esistente, inserisci il numero del progetto. Puoi trovare il numero di progetto nella home page di Google Cloud Console.recommenderType
string
google.iam.policy.Recommender
Non applicabile. recommenderSubtype
string
REMOVE_ROLE
Non applicabile. slackWebhookURL
string
Inserisci l'URL del webhook di Slack generato in un passaggio precedente. L'URL è simile al seguente:
https://hooks.slack.com/services/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
Questo tutorial mostra come creare una regola per determinare se un suggerimento viene applicato automaticamente o se viene generata una notifica e inviata a una piattaforma come Slack. Per scoprire come un consiglio può essere applicato automaticamente in base alla valutazione delle regole aziendali di esempio che hai configurato, consulta il repository associato.
Quando il documento è compilato, fai clic su Salva.
Creazione di un servizio Cloud Run pianificato
In questa sezione crei un servizio Cloud Run pianificato chiamato
recommendation-collector
che invoca l'API Recommender e retrieving
recommendations attivi. L'API Recommender di Identity and Access Management viene utilizzata in questo tutorial come API Recommender. Il servizio legge i metadati della raccolta activeassist-metadata
Firestore
che hai creato per determinare quali consigli recuperare.
Fai clic su Apri in Cloud Shell per aprire Cloud Shell per il progetto Recommendation Manager.
Quando si apre Cloud Shell, vengono eseguiti i seguenti comandi:
- Il comando di clonazione del repository GitHub.
- Il comando per cambiare directory.
Quando viene visualizzata la finestra di dialogo Apri in Cloud Shell, seleziona Attendibile e poi fai clic su Conferma.
Imposta l'ID progetto e il numero del progetto del progetto Recommendation Manager corrente come variabili:
export RECO_MGR_PROJECT=PROJECT_ID gcloud config set project $RECO_MGR_PROJECT export RECO_MGR_PROJECT_NUMBER=$(gcloud projects describe $DEVSHELL_PROJECT_ID --format='value(projectNumber)')
Sostituisci
PROJECT_ID
con l'ID progetto. Dopo aver inserito i comandi, fai clic su Autorizza quando ti viene richiesto.Imposta la variabile per la regione di deployment:
export REGION=us-central1
Sebbene questo tutorial utilizzi la regione
us-central1
, puoi utilizzare qualsiasi regione in cui è disponibile Cloud Run.Crea una variabile di ambiente per l'immagine Docker:
export RECOMMENDER_IMAGE=gcr.io/$RECO_MGR_PROJECT/recommendation-collector:1.0
Crea l'immagine Docker e caricala su Container Registry:
gcloud builds submit --tag $RECOMMENDER_IMAGE
Crea un account di servizio per il servizio
recommendation-collector
per dialogare con altri servizi Google Cloud nella pipeline:gcloud iam service-accounts create recommendation-collector-sa \ --description "Service Account that the recommendation-collector service uses to invoke other Google Cloud services" \ --display-name "recommendation-collector-sa" \ --project $RECO_MGR_PROJECT
È buona prassi concedere autorizzazioni granulari ai servizi Cloud Run assegnando ruoli predefiniti all'account di servizio. Per saperne di più, consulta Identità del servizio.
Concedi all'account di servizio per il servizio
recommendation-collector
l'accesso a Firestore e all'API Recommender:gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/datastore.user gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/pubsub.publisher
Se stai eseguendo questo tutorial utilizzando l'esempio
stub
fornito nel repository che hai clonato, vai al passaggio successivo.Se stai creando la pipeline in questo tutorial utilizzando i consigli generati per un progetto Google Cloud esistente, devi assegnare le autorizzazioni IAM ai service account che hai creato per eseguire i due servizi Cloud Run.
Prima di eseguire i comandi, imposta una variabile di ambiente,
TEST_PROJECT_ID
, con l'ID del progetto per cui esegui questa pipeline:export TEST_PROJECT_ID=TEST_PROJECT_ID gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \ --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/recommender.iamAdmin gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \ --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/serviceusage.serviceUsageConsumer gcloud services enable recommender.googleapis.com --project $TEST_PROJECT_ID
Assicurati che l'ID progetto che utilizzi corrisponda a quello inserito durante la creazione delle raccolte Firestore.
Per questo tutorial, esegui il deployment del servizio con una variabile di ambiente chiamata
STUB_RECOMMENDATIONS
. Questa variabile ti consente di utilizzare uno stub per testare la pipeline.Esegui il deployment del servizio Cloud Run:
gcloud run deploy recommendation-collector \ --image=$RECOMMENDER_IMAGE \ --no-allow-unauthenticated \ --region $REGION \ --platform managed \ --service-account recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --set-env-vars="STUB_RECOMMENDATIONS=true" \ --project $RECO_MGR_PROJECT \
Accetta eventuali richieste del sistema.
Se vuoi eseguire la pipeline utilizzando i consigli di Active Assist generati per un progetto Google Cloud, rimuovi la riga seguente dal comando prima di eseguirlo:
--set-env-vars="STUB_RECOMMENDATIONS=true"
Configura un job Cloud Scheduler per eseguire il recommender-collector service
In Cloud Shell, crea un account di servizio per i job Cloud Scheduler da utilizzare per eseguire il servizio
recommendation-collector
:gcloud iam service-accounts create recommender-scheduler-sa \ --description "Service Account used by Cloud Scheduler to invoke the recommender-parser service" \ --display-name "recommender-scheduler-sa" \ --project $RECO_MGR_PROJECT
Assegna all'account di servizio il ruolo
run/invoker
per consentirgli di invocare il servizio Cloud Run:gcloud run services add-iam-policy-binding recommendation-collector \ --member=serviceAccount:recommender-scheduler-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role=roles/run.invoker \ --region=$REGION \ --platform=managed
Recupera l'URL del servizio
recommendation-collector
:export RECOMMENDER_SERVICE_URI=`gcloud run services describe recommendation-collector \ --platform managed \ --project $RECO_MGR_PROJECT \ --region $REGION \ --format="value(status.url)"`/run
Crea un job Cloud Scheduler denominato
recommender-iam-scheduler
:gcloud scheduler jobs create http recommender-iam-scheduler \ --project $RECO_MGR_PROJECT \ --time-zone "America/Los_Angeles" \ --schedule="0 */3 * * *" \ --uri=$RECOMMENDER_SERVICE_URI \ --description="Scheduler job to invoke recommendation pipeline" \ --oidc-service-account-email="recommender-scheduler-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com" \ --headers="Content-Type=application/json" \ --http-method="POST"
Imposta il fuso orario in base alla tua posizione. Il formato del valore del fuso orario si basa sul database tz.
Per ulteriori informazioni, consulta gcloud scheduler jobs create http.
Il job Cloud Scheduler richiama la route
/run
per il serviziorecommendation-collector
.L'impostazione del flag
--schedule="0 */3 * * *"
esegue il job Scheduler ogni tre ore. Puoi modificare questa impostazione in base alle tue esigenze. Per ulteriori informazioni, vedi Configurare le pianificazioni dei job cron.
Crea il motore delle regole di suggerimento per elaborare i suggerimenti
In questa sezione crei un secondo servizio Cloud Run denominato recommendation-rules-engine
per elaborare i consigli raccolti dal servizio recommendation-collector
. Il servizio recommendation-rules-engine
viene invocato da Pub/Sub quando vengono inviati nuovi consigli nell'argomento activeassist-recommendations
.
Questo servizio analizza i consigli in base alle regole aziendali che hai definito nella raccolta activeassist-business-rules
.
In Cloud Shell, apri la directory
recommendation-rules-engine
:cd ../recommendation-rules-engine
Crea una variabile di ambiente per l'immagine Docker:
export RULES_ENGINE_IMAGE=gcr.io/$RECO_MGR_PROJECT/recommendation-rules-engine:1.0
Crea l'immagine Docker e caricala su Container Registry:
gcloud builds submit --tag $RULES_ENGINE_IMAGE
Crea un account di servizio per il servizio
recommendation-rules-engine
per interagire con altri servizi Google Cloud nella pipeline:gcloud iam service-accounts create recommendation-rules-sa \ --description "Service Account that recommendation-rules-engine uses to invoke other Google Cloud services" \ --display-name "recommendation-rules-sa" \ --project $RECO_MGR_PROJECT
Concedi all'account di servizio per il servizio
recommendation-rules-engine
l'accesso a Firestore:gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/datastore.user
Se utilizzi gli stub forniti per questo tutorial, vai al passaggio successivo.
Se stai testando la pipeline utilizzando i consigli generati per un progetto Google Cloud anziché gli stub forniti per questo tutorial, esegui i seguenti comandi per consentire all'account di servizio del motore di regole di accedere al tuo progetto:
gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \ --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/serviceusage.serviceUsageConsumer gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \ --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/recommender.iamAdmin gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \ --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/resourcemanager.projectIamAdmin
Esegui il deployment del servizio Cloud Run:
gcloud run deploy recommendation-rules-engine \ --image=$RULES_ENGINE_IMAGE \ --no-allow-unauthenticated \ --region $REGION \ --platform managed \ --service-account recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --project $RECO_MGR_PROJECT
Accetta eventuali richieste del sistema.
Recupera l'URL
recommendation-rules-engine
:export RECOMMENDER_SERVICE_RULES_URI=`gcloud run services describe recommendation-rules-engine \ --platform managed \ --project $RECO_MGR_PROJECT \ --region $REGION \ --format="value(status.url)"`/process
L'URL recuperato in questo passaggio viene richiamato quando diventano disponibili nuovi consigli dall'argomento Pub/Sub che crei nel passaggio successivo.
Crea un argomento Pub/Sub per i consigli attivi
In questa sezione, crei un argomento Pub/Sub per i consigli di Active Assist recuperati dal servizio recommender-collector
chiamando l'API Recommender.
In Cloud Shell, crea un argomento Pub/Sub:
gcloud pubsub topics create activeassist-recommendations
Crea un account di servizio da utilizzare per Pub/Sub per richiamare il servizio Cloud Run
recommendation-rules-engine
:gcloud iam service-accounts create recommendation-engine-sub-sa \ --description "Service Account used by Pub/Sub to push recommendations to the recommendation-rules-engine service" \ --display-name "recommendation-engine-sub-sa" \ --project $RECO_MGR_PROJECT
L'account di servizio Pub/Sub deve essere associato ai ruoli di cui ha bisogno per pubblicare i messaggi e richiamare il servizio
recommendation-rules-engine
:gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member serviceAccount:recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role roles/run.invoker \ --project $RECO_MGR_PROJECT
Crea una sottoscrizione per l'argomento Pub/Sub
Crea un abbonamento per il servizio
recommendation-rules-engine
:# grant Pub/Sub the permission to create tokens PUBSUB_SERVICE_ACCOUNT="service-$RECO_MGR_PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role='roles/iam.serviceAccountTokenCreator' # configure the subscription push identity gcloud pubsub subscriptions create active-assist-recommendations-for-rules-engine \ --topic=activeassist-recommendations \ --topic-project=$RECO_MGR_PROJECT \ --push-auth-service-account=recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --ack-deadline=60 \ --push-endpoint=$RECOMMENDER_SERVICE_RULES_URI
Consenti all'account di servizio
recommendation-engine-sub-sa
che hai creato di richiamare il serviziorecommendation-rules-engine
:gcloud run services add-iam-policy-binding recommendation-rules-engine \ --member=serviceAccount:recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \ --role=roles/run.invoker \ --region=$REGION \ --platform=managed
Eseguire test end-to-end utilizzando gli stub
I consigli di Active Assist vengono generati dalla piattaforma in base ai pattern di utilizzo e alle metriche di sistema. Ogni categoria di consigli potrebbe utilizzare una finestra temporale predefinita diversa nel passato per analizzare i dati e le metriche di utilizzo in base ai quali vengono generati i consigli. Ad esempio, i consigli IAM vengono generati dalla piattaforma in base ai pattern di utilizzo degli ultimi 90 giorni.
Per testare la pipeline end-to-end, il repository che hai clonato per questo tutorial fornisce consigli di esempio (stub) che utilizzi per eseguire la pipeline end-to-end.
In questa sezione:
- Controlla i consigli per gli stub.
- Richiama la pipeline manualmente.
- Controlla se viene generata e inviata una notifica al canale Slack che hai creato.
Esamina i consigli di esempio forniti nel repository:
cat ../recommendation-collector/stub.json
Questo file fornisce un consiglio di esempio con un'azione
REMOVE
per un ruolo di esempio chiamatoroles/gkehub.connect
.Esegui il seguente comando per fare in modo che Cloud Scheduler esegua immediatamente il job, anziché attendere l'esecuzione pianificata successiva:
gcloud scheduler jobs run recommender-iam-scheduler
Nella pagina della console Cloud Scheduler, nella colonna Risultato per il job
recommender-iam-scheduler
, verifica che il risultato sia Successo.Per visualizzare una panoramica dettagliata dei passaggi eseguiti da ciascun servizio, puoi anche visualizzare i log del servizio Cloud Run per il servizio
recommendation-collector
e il serviziorecommendation-rules-engine
.Quando la pipeline end-to-end serverless creata in questo tutorial viene eseguita correttamente, viene generata una notifica di Slack contenente i dettagli dell'associazione del ruolo consigliata da rimuovere. Di seguito è riportato un esempio della notifica che ricevi:
Project xxxxxxxx\ **Impact**: SECURITY\ This role has not been used during the observation window.\ **Role**: roles/gkehub.connect\ **Member**: serviceAccount:sample-sa@recommendation-sample.iam.gserviceaccount.com\ **Action**: remove
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Passaggi successivi
- Scopri di più sull'utilizzo dei consigli per Infrastructure as Code.
- Scopri di più sulle tecnologie Google Cloud serverless.
- Scopri come integrare i consigli di Policy Intelligence in una pipeline IaC.