Per archiviare dati e file su App Engine, puoi utilizzare i servizi Google Cloud o qualsiasi altro servizio di archiviazione supportato nella tua lingua e che sia accessibile dalla tua istanza di App Engine. Database di terze parti possono essere ospitati su un altro cloud provider, ospitati on-premise o gestiti da un fornitore di terze parti.
Servizi di archiviazione di Google Cloud
Per le app App Engine in esecuzione nell'ambiente standard Python 2, consigliamo uno dei seguenti servizi di archiviazione di Google Cloud:
Nome | Strutturazione | Coerenza | Costo |
---|---|---|---|
Firestore in modalità Datastore | Senza schema (NoSQL) | Elevata coerenza, tranne che durante l'esecuzione di query globali. | La modalità Datastore offre una quota gratuita con limiti giornalieri. Gli account a pagamento offrono spazio di archiviazione illimitato, operazioni di lettura e scrittura. Ulteriori informazioni sono disponibili nella pagina Quote di Datastore. |
Cloud SQL per MySQL o Cloud SQL per PostgreSQL |
Relazionale | Coerenza elevata | Google offre due piani di fatturazione per Google Cloud SQL: pacchetti e per utilizzo. Ulteriori informazioni sono disponibili nel Listino prezzi di Cloud SQL. |
Cloud Storage | File e metadati associati (archiviazione dei file su Cloud) | A elevata coerenza, tranne quando si eseguono operazioni di elenco che recuperano un elenco di bucket o oggetti. | Non sono previsti costi associati alle chiamate a Google Cloud Storage.
Tuttavia, i costi per tutti i dati archiviati in Google Cloud Storage vengono addebitati come di consueto.
Tariffe per l'archiviazione dei dati di Google Cloud Storage. I prezzi di Cloud Storage sono disponibile nel listino prezzi di Cloud Storage. |
Queste opzioni non si escludono a vicenda. Ad esempio, la stessa applicazione può archiviare informazioni in un database Cloud SQL e anche i file in un ambiente Cloud Storage.
Consulta l'elenco completo dei prodotti di archiviazione Google Cloud nella Pagina Prodotti Cloud Storage.
Altri cloud provider
Le app di App Engine possono connettersi a database esterni ospitati su in altri cloud pubblici, purché i server del database e il firewall siano configurate correttamente per accettare connessioni. L'app App Engine si connette su internet utilizzando l'indirizzo IP pubblico del 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 Memorizzazione nella cache Redis. Questi fornitori gestiscono l'hosting, la configurazione e la manutenzione dei database. App Engine può connettersi a questi servizi esterni tramite internet, come le altre su cloud pubblici utilizzando l'indirizzo IP pubblico di quel servizio.
On-premise
Se hai database on-premise esistenti che vuoi rendere accessibili per l'app App Engine, puoi configurare il server e il firewall per fornire al database un indirizzo IP pubblico o connettersi utilizzando VPN.
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, spesso i database richiedono modifiche non banali per adattarsi alle dimensioni. Nelle applicazioni di produzione, App Engine può sovraccaricare rapidamente un database durante i picchi di traffico. Tu deve prendere il carico e il caricamento medio previsto del traffico durante i picchi di da tenere in considerazione durante la configurazione e il deployment dei database.