Organizzazione dei file di configurazione yaml

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base all'area geografica selezionata al momento della creazione dell'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID di area geografica potrebbero essere simili ai codici di paese e provincia 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 area geografica è facoltativo nell'URL.

Scopri di più sugli ID dell'area geografica.

Utilizza il seguente documento per capire come strutturare i servizi e le relative risorse della tua app per App Engine.

Struttura delle directory

Ogni versione del servizio App Engine è definita in un file di configurazione app.yaml. Per le app semplici, il requisito minimo per il deployment è definire il file app.yaml. Il file app.yaml funge da descrittore di deployment e definisce il tipo di scalabilità e le risorse di CPU, disco e memoria per una versione specifica di un servizio. Se esegui il deployment di più versioni di un servizio, puoi creare più file YAML nella stessa directory per rappresentare la configurazione di ciascuna delle tue versioni.

I file di configurazione nel formato YAML vengono utilizzati per i runtime Eclipse Jetty 9 e Java 8.

L'organizzazione del file dipende dal runtime Java in uso. Potrebbe essere necessario un file WAR o un file JAR, uno per ciascun servizio nella tua app. Per informazioni dettagliate, consulta la guida per gli sviluppatori Java Runtime appropriata.

Considerazioni sulla progettazione per il tempo di attività delle istanze

Gli errori hardware o software che causano l'interruzione anticipata o il riavvio frequente delle istanze possono verificarsi senza avvisi e possono richiedere molto tempo per la risoluzione. L'applicazione dovrebbe essere in grado di gestire questo tipo di errori.

Ecco alcune buone strategie per evitare tempi di inattività dovuti al riavvio delle istanze:

  • Riduci il tempo necessario per il riavvio delle istanze o per l'avvio di nuove istanze.
  • Per i calcoli a lunga esecuzione, crea periodicamente punti di controllo in modo da poter riprendere da tale stato.
  • L'applicazione deve essere in stato stateless, in modo che non sia archiviato nulla nell'istanza.
  • Utilizza le code per eseguire l'esecuzione asincrona delle attività.
  • Se configuri le istanze per la scalabilità manuale:
    • Utilizza il bilanciamento del carico su più istanze.
    • Configura più istanze del necessario per gestire il traffico normale.
    • Scrivi logica di riserva che utilizza i risultati memorizzati nella cache quando un'istanza di scalabilità manuale non è disponibile.

Scopri di più sulle istanze in Modalità di gestione delle istanze.

Il servizio default

Ogni applicazione App Engine include un servizio default. Per poter creare ed eseguire il deployment di servizi aggiuntivi, devi eseguire il deployment della versione iniziale dell'app nel servizio default.

Il servizio predefinito può essere specificato in modo facoltativo in app.yaml con l'impostazione service: default.

Le richieste inviate alla tua app utilizzando il progetto Cloud vengono inviate al servizio default, ad esempio https://PROJECT_ID.REGION_ID.r.appspot.com. Per ulteriori informazioni sul targeting di altri servizi, consulta la sezione Comunicazione tra servizi.

File di configurazione facoltativi

I seguenti file di configurazione controllano le funzionalità facoltative che si applicano a tutti i servizi in una singola app. Vedi i seguenti argomenti per i dettagli su ciascuna delle funzionalità facoltative:

  • dispatch.yaml sostituisce le regole di routing predefinite inviando richieste in arrivo a un servizio specifico in base al percorso o al nome host nell'URL.
  • index.yaml specifica quali indici la tua app richiede se utilizzi le query Datastore.
  • cron.yaml configura attività programmate ricorrenti eseguite in orari specifici o a intervalli regolari.

Considerazioni sull'archiviazione di dati e file

Da App Engine puoi accedere facilmente ad altri servizi di Google Cloud come Datastore, Cloud SQL e Cloud Storage.

Hai anche la possibilità di utilizzare un database esterno o di terze parti se il database è supportato dalla tua lingua ed è accessibile dalla tua istanza App Engine.

Per maggiori dettagli sull'archiviazione di file in Google Cloud o esternamente, vedi Informazioni sull'archiviazione di file e dati.

Puoi anche scegliere come pubblicare i contenuti statici. Puoi pubblicare i contenuti statici dell'app direttamente da tale app in App Engine, ospitare i contenuti statici su un'opzione di Google Cloud come Cloud Storage o utilizzare una rete CDN (Content Delivery Network) di terze parti. Per ulteriori informazioni sulla pubblicazione di contenuti statici, consulta Pubblicazione di file statici.

Passaggi successivi

Se lavori con più servizi e vuoi implementarli insieme, vedi i passaggi per eseguire il deployment di più servizi.