Per archiviare dati e file su App Engine, puoi utilizzare i servizi Google Cloud o qualsiasi altro servizio di archiviazione supportato dalla tua lingua e accessibile dalla tua istanza App Engine. I database di terze parti possono essere ospitati su un altro cloud provider, on-premise o gestiti da un fornitore di terze parti.
Servizi di archiviazione di Google Cloud
Per le app App Engine in esecuzione in App Engine, consigliamo uno dei seguenti servizi di archiviazione di Google Cloud:
- Firestore in modalità Datastore per archiviare i dati in un database NoSQL
Cloud SQL per MySQL per archiviare i dati in un database MySQL
Cloud SQL per PostgreSQL per archiviare i dati in un database PostgreSQL
Cloud Storage per leggere e scrivere file nell'ambiente di runtime, nonché per archiviare e pubblicare file statici, ad esempio filmati, immagini o altri contenuti statici
Consulta un elenco completo dei prodotti di archiviazione Google Cloud nella pagina Prodotti Cloud Storage.
Altri cloud provider
Le app App Engine possono connettersi a database esterni ospitati su altri cloud pubblici, a condizione che i server di database e il firewall siano configurati correttamente per accettare le connessioni. L'app App Engine si connette su Internet utilizzando l'indirizzo IP pubblico di quel servizio esterno.
Database gestiti da un fornitore di terze parti
Esistono molti fornitori che offrono servizi di database gestiti come mLab per MongoDB, Redis Labs offre la memorizzazione di Redis in hosting. Questi fornitori gestiscono l'hosting, la configurazione e la manutenzione dei database. App Engine può connettersi a questi servizi esterni su Internet, come altri cloud pubblici, utilizzando l'indirizzo IP pubblico di quel servizio.
On-premise
Se disponi di database on-premise esistenti che vuoi rendere accessibili all'app App Engine, puoi configurare la rete interna e il firewall per assegnare al database un indirizzo IP pubblico o connetterti tramite una VPN.
La configurazione di Cloud VPN consente all'app App Engine di accedere alla rete on-premise senza esporre direttamente il server del database alla rete internet pubblica. Poiché App Engine e Compute Engine utilizzano la stessa infrastruttura di networking, puoi utilizzare la connessione VPN per stabilire una connessione tra l'app App Engine e il tuo database on-premise utilizzando l'indirizzo IP interno del server di database.Considerazioni sulla produzione
App Engine può essere configurato per scalare automaticamente l'applicazione in orizzontale in base a varie metriche. A differenza delle applicazioni web, i database spesso richiedono modifiche non banali per adattarsi alla scalabilità. Nelle applicazioni di produzione, App Engine può sovraccaricare rapidamente un database durante i picchi di traffico. Durante la configurazione e il deployment dei database, dovresti prendere in considerazione il carico e il carico medi previsti durante i picchi.