Puoi eseguire le tue applicazioni in App Engine utilizzando l'ambiente flessibile di App Engine o l'ambiente standard di App Engine. Puoi anche scegliere di utilizzare contemporaneamente entrambi gli ambienti per la tua applicazione e consentire ai tuoi servizi di sfruttare i vantaggi individuali di ciascun ambiente.
Ambienti di App Engine
App Engine è adatto per le applicazioni progettate utilizzando un'architettura di microservizi, in particolare se decidi di utilizzare entrambi gli ambienti. Consulta le seguenti sezioni per scoprire e comprendere quale ambiente soddisfa al meglio le esigenze della tua applicazione.
Quando scegliere l'ambiente standard
Le istanze dell'applicazione vengono eseguite in una sandbox, utilizzando l'ambiente di runtime di una lingua supportata elencata di seguito.
Applicazioni che devono gestire una scalabilità rapida.
L'ambiente standard è ottimale per le applicazioni con le seguenti caratteristiche:
- Progettato per essere eseguito gratuitamente o a costi molto ridotti, in cui paghi solo per ciò che ti serve e quando ti serve. Ad esempio, la tua applicazione può scalare fino a 0 istanze quando non c'è traffico.
- Esperienza di picchi improvvisi ed estremi di traffico che richiedono una scalabilità immediata.
Quando scegliere l'ambiente flessibile
Le istanze di applicazione vengono eseguite all'interno di container Docker sulle macchine virtuali (VM) Compute Engine.
Applicazioni che ricevono traffico costante, presentano fluttuazioni regolari del traffico o soddisfano i parametri per lo scale up e lo scale down graduali.
L'ambiente flessibile è ottimale per le applicazioni con le seguenti caratteristiche:
- Viene eseguito in un container Docker che include un runtime personalizzato o codice sorgente scritto in altri linguaggi di programmazione.
- Utilizza o dipende da framework che includono codice nativo.
- Accede alle risorse o ai servizi del tuo progetto Google Cloud che si trovano nella rete Compute Engine.
Confrontare le funzionalità di alto livello
La seguente tabella riassume le differenze tra i due ambienti:
Funzionalità | Ambiente standard | Ambiente flessibile |
---|---|---|
Ora di avvio dell'istanza | Secondi | Minuti |
Timeout massimo della richiesta | Dipende dal tempo di esecuzione e dal tipo di scalabilità. | 60 minuti |
Thread in background | Sì, con limitazioni | Sì |
Processi in background | No | Sì |
Debug SSH | No | Sì |
Scalabilità | Manuale, Di base, Automatica | Manuale, automatica |
Scalabilità fino a zero | Sì | No, è necessario almeno un'istanza |
Scrittura su disco locale |
Accesso in lettura e scrittura alla directory /tmp .
|
Sì, temporaneo (disco inizializzato a ogni avvio della VM) |
Modifica del runtime | No | Sì (tramite Dockerfile) |
Data/ora del deployment | Secondi | Minuti |
Patch di sicurezza automatiche in loco | Sì | Sì (esclude il runtime dell'immagine container) |
Accesso ad API e servizi Google Cloud come Cloud Storage, Cloud SQL, Memorystore, Google Tasks e altri. | Sì | Sì |
WebSockets | No | Sì |
Supporta l'installazione di programmi binari di terze parti | Sì | Sì |
Località | Località per l'ambiente standard | Località per l'ambiente flessibile |
Prezzi | In base alle ore dell'istanza | In base all'utilizzo di vCPU, memoria e dischi permanenti |
Consulta anche il confronto approfondito degli ambienti.
Confronta App Engine e Cloud Run
Per confrontare le funzionalità e scoprire come eseguire la migrazione a Cloud Run, consulta Confronta App Engine e Cloud Run.
Confrontare l'ambiente flessibile con Compute Engine
L'ambiente flessibile di App Engine presenta le seguenti differenze rispetto a Compute Engine:
Le istanze VM dell'ambiente flessibile vengono riavviate su base settimanale. Durante i riavvii, i servizi di gestione di Google applicano tutti gli aggiornamenti di sicurezza e sistema operativo necessari.
Hai sempre accesso come utente root alle istanze VM di Compute Engine. Per impostazione predefinita, l'accesso SSH alle istanze VM nell'ambiente flessibile è disabilitato. Se lo scegli, puoi abilitare l'accesso root alle istanze VM della tua app.
I deployment del codice possono richiedere più tempo perché le immagini container vengono create utilizzando il servizio Cloud Build.
La regione geografica di un'istanza VM dell'ambiente flessibile viene determinata dalla posizione specificata per l'applicazione App Engine del progetto Google Cloud. I servizi di gestione di Google assicurano che le istanze VM siano in co-location per prestazioni ottimali.
Esegui la migrazione dall'ambiente standard all'ambiente flessibile
Se hai un'applicazione nell'ambiente standard, ti consigliamo di spostare alcuni servizi nell'ambiente flessibile. Per indicazioni, consulta i consigli per nel confronto degli ambienti.
Per eseguire la migrazione di servizi specifici per Python, Java, Go e PHP, consulta Eseguire la migrazione dei servizi dall'ambiente standard all'ambiente flessibile.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dell'ambiente Ruby standard in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova l'ambiente standard Ruby gratuitamente