ID regione
Il REGION_ID
è un codice abbreviato che Google assegna
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 App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
App Engine è una delle piattaforme serverless completamente gestite per lo sviluppo e l'hosting di applicazioni web su larga scala. Puoi scegliere tra diversi linguaggi popolari per sviluppare le tue app, poi lascia che App Engine si occupi del provisioning dei server e del ridimensionamento delle istanze dell'app in base alla domanda. Un'alternativa più recente e migliore ad App Engine è Cloud Run, che è l'ultima evoluzione di Google Cloud Serverless. Se sei un nuovo utente Google Cloud, ti consigliamo di utilizzare Cloud Run per sviluppare e ospitare applicazioni web.
Componenti di un'applicazione
Un'app App Engine è costituita da una singola risorsa applicazione che include uno o più servizi. Ogni servizio può essere configurato per utilizzare runtime diversi e per operare con impostazioni delle prestazioni diverse. All'interno di ogni servizio, esegui il deployment delle versioni del servizio. Ogni versione viene quindi eseguita in una o più istanze, a seconda della quantità di traffico che hai configurato per la gestione.
La tua 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 la tua app. Quando crei l'app App Engine, tutte le tue risorse vengono create nella regione che scegli, incluso il codice dell'app insieme a una raccolta di impostazioni, credenziali e metadati dell'app. Scopri di più sulle "risorse dell'applicazione" ( standard | flessibile ) e in quali regioni puoi crearle.
Ogni applicazione App Engine include almeno un servizio, il servizio default
, che può contenere molte versioni, a seconda dello stato di fatturazione dell'app.
Per ulteriori informazioni, consulta la sezione Limiti di seguito.
Il seguente diagramma illustra la gerarchia di un'app App Engine in esecuzione con più servizi. In questo diagramma, l'app ha due servizi che contengono più versioni e due di queste versioni sono in esecuzione attiva su più istanze:
Altri servizi Google Cloud , ad esempio Datastore, sono condivisi tra le app App Engine. Per ulteriori informazioni, consulta "Strutturare i servizi web"( standard | flessibile).
Servizi
Utilizza i servizi in App Engine per suddividere le app di grandi dimensioni in componenti logici che possono condividere in modo sicuro le funzionalità di App Engine e comunicare tra loro. In genere, i servizi App Engine si comportano come microservizi. Pertanto, puoi eseguire l'intera app in un unico servizio oppure progettare e implementare più servizi da eseguire come un insieme di microservizi.
Ad esempio, un'app che gestisce le richieste dei clienti potrebbe includere servizi separati che gestiscono ciascuno attività diverse, ad esempio:
- Richieste API da dispositivi mobili
- Richieste interne di tipo amministrativo
- Elaborazione backend, ad esempio pipeline di fatturazione e analisi dei dati
Ogni servizio in App Engine è costituito dal codice sorgente della tua app e dai file di configurazione di App Engine corrispondenti. L'insieme di file che deploy a un servizio rappresenta una singola versione di quel servizio e ogni volta che esegui il deployment al servizio, crei versioni aggiuntive all'interno dello stesso servizio.
Versioni
La presenza di 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 tutto il traffico a una versione specifica della tua app tramite la "migrazione del traffico" ( standard | flessibile ) o indirizzare a più versioni della tua app tramite la "divisione del traffico" ( standard | flessibile ).
Istanze
Le versioni all'interno dei servizi vengono eseguite su una o più istanze. Per impostazione predefinita, App Engine scala l'app in base al carico. Le tue app aumenteranno il numero di istanze in esecuzione per fornire prestazioni coerenti o fare lo scale down per ridurre al minimo le istanze inattive e i costi. Per ulteriori informazioni sulle istanze, consulta "Come vengono gestite le istanze" ( standard | flessibile ).
Nell'ambiente flessibile di App Engine, le istanze sono supportate dalle risorse Compute Engine. Alcune delle risorse utilizzate dalle istanze nell'ambiente flessibile di App Engine, come disco, CPU e memoria, vengono conteggiate ai fini delle quote dell'API Compute Engine del tuo progetto. Per ulteriori dettagli su come App Engine utilizza le risorse di Compute Engine, consulta la panoramica dell'ambiente flessibile di App Engine.
Richieste di applicazioni
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 scegliere come target e indirizzare il traffico a risorse specifiche utilizzando gli URL, ad esempio:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
Le richieste degli utenti in entrata vengono indirizzate ai servizi o alle versioni configurati per gestire il traffico. Puoi anche scegliere come target e indirizzare le richieste a servizi e versioni specifici. Per ulteriori informazioni, consulta "Comunicazione tra i Servizi" ( standard | flessibile ).
Registrazione delle richieste delle applicazioni
Quando la tua 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 "Scrittura dei log delle applicazioni"
( standard |
flessibile ).
Limiti
Sia l'ambiente flessibile sia l'ambiente standard condividono gli stessi limiti per servizi e versioni. Ad esempio, se hai versioni standard e flessibili nella stessa app, queste versioni vengono conteggiate ai fini dello stesso limite. Per maggiori dettagli, consulta "Quote e limiti" ( standard | flessibili ).