Pour stocker des données et des fichiers sur App Engine, vous pouvez utiliser les services Google Cloud ou tout autre service de stockage compatible avec votre langage et accessible depuis votre instance App Engine. Ces bases de données tierces peuvent être hébergées sur une autre solution cloud, sur site ou gérées par un fournisseur tiers.
Services de stockage Google Cloud
Pour les applications App Engine exécutées dans l'environnement standard Python 2, nous recommandons l'un des services de stockage Google Cloud suivants :
Nom | Structure | Cohérence | Coût |
---|---|---|---|
Firestore en mode Datastore | Sans schéma (NoSQL) | Fortement cohérent, sauf lors de l'exécution de requêtes globales | Le mode Datastore propose un quota gratuit avec des limites journalières. Les comptes payants proposent un stockage ainsi que des opérations de lecture et d'écriture illimités. Pour en savoir plus, consultez la section des quotas de Datastore. |
Cloud SQL pour MySQL ou Cloud SQL pour PostgreSQL |
Relationnelle | Fortement cohérent | Google propose deux modes de facturation pour Google Cloud SQL : au forfait et à l'utilisation. Pour en savoir plus, consultez la page Tarifs de Cloud SQL. |
Cloud Storage | Fichiers et métadonnées associées (stockage de fichiers dans le cloud) | Fortement cohérent, sauf lors de l'exécution d'opérations de listes qui obtiennent la liste des buckets ou des objets | Les appels vers Google Cloud Storage sont gratuits.
Toutefois, toutes les données stockées dans Google Cloud Storage sont facturées au tarif habituel de stockage de données de Google Cloud Storage. Pour en savoir plus sur les prix de Cloud Storage, consultez la page Tarifs de Cloud Storage. |
Ces options ne s'excluent pas mutuellement. Par exemple, la même application peut à la fois stocker des informations dans une base de données Cloud SQL et stocker des fichiers dans un bucket Cloud Storage.
Consultez la liste complète des produits Google Cloud Storage sur la page Produits Cloud Storage.
Autres fournisseurs cloud
Les applications App Engine peuvent se connecter à des bases de données externes hébergées sur d'autres clouds publics, à condition que ces serveurs de base de données et votre pare-feu soient correctement configurés pour accepter les connexions. Votre application App Engine se connecte via Internet par le biais de l'adresse IP publique du service externe.
Bases de données gérées par un fournisseur tiers
De nombreux fournisseurs proposent des services de bases de données gérées tels que mLab pour MongoDB, ou Redis Labs et ses solutions hébergées de mise en cache Redis. Ces fournisseurs gèrent l'hébergement, la configuration et la maintenance des bases de données. App Engine peut se connecter à ces services externes via Internet de la même manière qu'avec les autres clouds publics, par le biais de leur adresse IP publique.
Bases de données sur site
Pour que votre application App Engine puisse accéder à vos bases de données existantes sur site, vous pouvez soit configurer votre réseau interne et votre pare-feu pour attribuer à la base de données une adresse IP publique, soit vous connecter via un réseau privé virtuel.
Considérations relatives à la production
App Engine peut être configuré pour effectuer un scaling automatique horizontal de votre application en fonction de diverses métriques. Contrairement aux applications Web, les bases de données nécessitent souvent des modifications complexes pour s'adapter au trafic. Dans les applications de production, App Engine peut rapidement surcharger une base de données lors de pics de trafic. C'est pourquoi, lorsque vous configurez et déployez une base de données, vous devez prendre en compte la charge de trafic moyenne prévue et la charge durant les pics d'activité.