L'ambiente standard di App Engine ha due generazioni di ambienti di runtime. I runtime di seconda generazione migliorano in modo significativo le funzionalità di App Engine e rimuovono alcune delle limitazioni dei runtime di prima generazione. Questa pagina descrive le somiglianze e le differenze tra i runtime di prima e seconda generazione.
Seconda generazione | Prima generazione | |
---|---|---|
Lingue supportate |
Python 3 Java 11 o versioni successive Node.js PHP 7/8 Ruby Go 1.12 e versioni successive |
Python 2.7 Java 8 PHP 5.5 Go 1.11 |
Supporto di estensioni di lingua e librerie di sistema | Qualsiasi estensione o libreria | Python 2.7, PHP 5.5: estensioni e librerie che utilizzano la lista consentita Java 8, Go 1.11: qualsiasi estensione o libreria |
API supportate |
Per accedere ai servizi Google Cloud completi, utilizza le librerie client di Cloud open source. Durante l'aggiornamento ai runtime Python 3, Java 11 e versioni successive o Go 1.12 e versioni successive, puoi continuare a utilizzare molti dei servizi in bundle di App Engine. Per saperne di più, consulta le guide per Python 3, Java 11+ e Go 1.12 e versioni successive per maggiori dettagli. |
Librerie client di Cloud e servizi in bundle di App Engine |
Per l'archiviazione di file BLOB di grandi dimensioni, utilizza
Cloud Storage o continua a utilizzare il servizio in bundle API Blobstore di App Engine. |
API Blobstore App Engine | |
Per la persistenza dei dati, utilizza Firestore in modalità Datastore e Cloud SQL per l'archiviazione relazionale. In alternativa, puoi continuare a utilizzare il servizio in bundle dell'API Datastore di App Engine. |
API App Engine Datastore | |
Per l'esecuzione di attività differita, continua a utilizzare l'API Deferred (Python), l'API DeferredTask (Java) e l'API Delay (Go). Gli utenti PHP possono continuare a specificare l'esecuzione differita tramite il servizio in bundle API Task Queues.
In alternativa, puoi implementare la funzionalità differita utilizzando Cloud Tasks. |
API App Engine Deferred | |
Per l'elaborazione delle immagini, puoi utilizzare Cloud Storage per pubblicare le immagini direttamente oppure utilizzare una rete CDN (Content Delivery Network) di terze parti o una libreria di elaborazione delle immagini.
In alternativa, puoi continuare a utilizzare il servizio in bundle dell'API App Engine Images. |
API App Engine Images | |
Per la messaggistica in entrata o in uscita, continua a utilizzare il servizio in bundle
dell'API Mail di App Engine. In alternativa per la messaggistica in uscita, puoi utilizzare un provider di posta di terze parti come SendGrid, Mailgun o Mailjet. Al momento, un'alternativa di terze parti consigliata per la messaggistica in entrata non è disponibile. |
API Mail di App Engine | |
Per memorizzare i dati dell'app nella cache, crea un'istanza Memorystore e connettila alla tua app utilizzando l' accesso VPC serverless. In alternativa, continua a utilizzare il servizio in bundle dell'API App Engine Memcache. | API App Engine Memcache | |
Per gli indici di documenti disponibili per la ricerca, ospita qualsiasi database di ricerca a testo intero come Elasticsearch su Compute Engine e accedi allo stesso dal tuo servizio. Google Cloud Marketplace offre inoltre un servizio Elasticsearch basato su SaaS. In alternativa, continua a utilizzare il servizio in bundle dell'API App Engine Search. | API App Engine Search | |
Per eseguire attività esterne, rimani nel servizio in bundle dell'API Task Queues di App Engine per le code in modalità push e pull o esegui la migrazione delle code in modalità push a Cloud Tasks. e code in modalità pull a Pub/Sub. |
API App Engine Task Queue | |
Per l'autenticazione degli utenti, continua a utilizzare il servizio in bundle di API Utenti di App Engine o esegui la migrazione a un servizio di autenticazione descritto in Opzioni di autenticazione utente. | API App Engine Users | |
Accesso alla rete esterna | Accesso completo | Python 2.7, PHP 5.5: tramite l'API URL Fetch Java 8, Go 1.11: accesso completo. |
Accesso al file system | Accesso in lettura/scrittura a /tmp |
Python 2.7, PHP 5.5: nessuno Java 8, Go 1.11: accesso in lettura/scrittura a /tmp |
Runtime linguaggio | Runtime open source non modificato | Modificata per App Engine |
Meccanismo di isolamento | Sandbox dei container basata su gVisor | Sandbox dei container basata su gVisor |
Supporto al runtime di prima generazione di App Engine
I runtime di prima generazione di App Engine hanno raggiunto la fine del supporto. Google non applicherà più aggiornamenti o patch di sicurezza ai componenti dell'ambiente di runtime che hanno raggiunto la fine del supporto.
Per scoprire di più sul piano di supporto per i runtime di prima generazione, consulta Supporto per runtime legacy e Ciclo di vita dell'esecuzione.
Somiglianze tra runtime di prima e seconda generazione
- Tempi di scale up quasi istantanei per rispondere ai picchi di traffico
- Le applicazioni vengono create utilizzando lo stesso processo di compilazione
- Stesso SLA (accordo sul livello del servizio) per i servizi GA
- Supporto per i comandi
gcloud
identici e la stessa interfaccia della console di Google Cloud - Livello gratuito
Risorse per la migrazione del runtime dalla prima alla seconda generazione
Le guide alla migrazione sono disponibili per ogni runtime dei linguaggi nella pagina Assistenza a lungo termine.