Panoramica di App Engine

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Un'app App Engine è costituita da una singola risorsa dell'applicazione che consiste in uno o più servizi. Ogni servizio può essere configurato per utilizzare diversi e operare con impostazioni delle prestazioni diverse. All'interno di ciascun servizio, esegui il deployment delle versioni del servizio. Ogni versione viene quindi eseguita in una o più istanze, a seconda del volume di traffico configurato da gestire.

Componenti di un'applicazione

L'app App Engine viene creata nel tuo progetto Google Cloud quando crei una risorsa applicazione. L'applicazione App Engine è un contenitore di primo livello che include le risorse di servizio, versione e istanza che compongono l'app. Quando crei la tua app App Engine, tutte le risorse vengono create nella regione che scegli, incluso il codice dell'app insieme a una raccolta di impostazioni, credenziali e metadati dell'app.

Ogni applicazione App Engine include almeno un servizio, default che può contenere molte versioni a seconda dello stato di fatturazione dell'app. Per ulteriori informazioni, consulta la sezione Limiti riportata di seguito.

Il seguente diagramma illustra la gerarchia di un App Engine in esecuzione con più servizi. In questo diagramma, l'app include due servizi che contengono più versioni, di cui due sono in esecuzione su più istanze:

Grafico gerarchia di servizi, versioni e istanze di un'app

Altri servizi Google Cloud, ad esempio Datastore, sono condivisi nell'app App Engine. Per ulteriori informazioni, consulta Strutturare i servizi web.

Servizi

Usa i servizi di App Engine per scomporre le app di grandi dimensioni in modo logico in grado di condividere in modo sicuro le funzionalità di App Engine e di comunicare l'uno con l'altro. In genere, i servizi App Engine si comportano come microservizi. Di conseguenza, puoi eseguire l'intera app in un unico servizio oppure puoi progettare e eseguire il deployment di più servizi da eseguire come un insieme di microservizi.

Ad esempio, un'app che gestisce le richieste dei clienti potrebbe includere e servizi ciascuno che gestiscono attività diverse, ad esempio:

  • Richieste API da dispositivi mobili
  • Richieste interne di tipo amministrativo
  • Elaborazione di backend come pipeline di fatturazione e analisi dei dati

Ogni servizio in App Engine è costituito dal codice sorgente dell'app e i file di configurazione di App Engine corrispondenti. L'insieme di file che esegui il deployment in un servizio rappresenta una singola versione di quel servizio e ogni volta che esegui il deployment in quel servizio, crei versioni aggiuntive all'interno dello stesso servizio.

Versioni

Avere più versioni dell'app all'interno di ogni servizio ti consente di passare rapidamente da una versione all'altra per rollback, test o altri eventi temporanei. Puoi indirizzare il traffico a una o più versioni specifiche del tuo app di eseguire la migrazione o divisione per via del traffico.

Istanze

Le versioni all'interno dei tuoi servizi vengono eseguite su una o più instances. Per impostazione predefinita, App Engine scala l'app in base al carico. Le tue app fai lo scale up del numero di istanze in esecuzione per fornire un prestazioni o fare lo scale down per ridurre al minimo le istanze inattive e ridurre i costi. Per ulteriori informazioni sulle istanze, consulta Come vengono Gestito.

Richieste di applicazione

Ogni servizio della tua app e ogni versione all'interno di questi servizi deve avere un nome univoco. Puoi quindi utilizzare questi nomi univoci per il targeting e il routing il traffico verso risorse specifiche utilizzando URL, ad esempio:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Tieni presente che la lunghezza combinata VERSION-dot-SERVICE-dot-PROJECT_ID, dove VERSION è il nome della versione, SERVICE è il nome del servizio e PROJECT_ID è il tuo ID progetto, non può contenere più di 63 caratteri e non può iniziare o terminare con un trattino. Se la lunghezza combinata è superiore a 63 caratteri, potresti visualizzare l'errore DNS address could not be found.

Le richieste degli utenti in entrata vengono instradate ai servizi o alle versioni configurate per gestire il traffico. Puoi anche indirizzare e indirizzare richieste a specifiche e versioni successive. Per ulteriori informazioni, consulta la sezione Gestione delle richieste.

Log delle richieste delle applicazioni

Quando l'applicazione gestisce una richiesta, può anche scrivere i propri messaggi di logging in stdout e stderr. Per informazioni dettagliate sui log della tua app, consulta Scrivere log dell'applicazione.

Limiti

Il numero massimo di servizi e versioni che puoi implementare dipende dal prezzo dell'app:

Limite App gratuita App a pagamento
Numero massimo di servizi per app 5 210
Numero massimo di versioni per app 15 210

Esiste inoltre un limite al numero di istanze per ogni servizio con scalabilità manuale:

Istanze massime per versione di scalabilità manuale/di base
App gratuita App a pagamento Stati Uniti App a pagamento UE
20 25 (200 per us-central) 25

Esiste anche un limite al numero di caratteri nell'URL della tua applicazione.

Descrizione Limite
Numero massimo di caratteri nell'URL del progetto per URL VERSION-dot-SERVICE-dot-PROJECT_ID 63