Google Cloud Platform : Monitorez et surveillez vos coûts BigQuery
Conçu en interne chez Google comme un moteur de requêtage Big Data plus efficace que MapReduce pour les traitements BI, BigQuery est disponible auprès du grand public depuis 2011 au sein de la suite Google Cloud Platform.
Particulièrement propice au stockage et à l’analyse de données, cette solution permet par exemple de croiser et réconcilier les données analytiques issues des sessions web avec les données média, CRM ou transactionnelles.
Cette démarche de réconciliation et de compréhension client engendre naturellement des coûts de transfert/ingestion, de stockage et de requête de la donnée, comme dans toute infrastructure data, qu’elle soit cloud ou on-premise. Comprendre le fonctionnement et savoir décortiquer les différentes composantes de la facturation BigQuery est donc primordial afin d’optimiser son utilisation.
Décomposer et comprendre les éléments de la facturation BigQuery
Rappelons tout d’abord que dans BigQuery, Google facture uniquement les frais de requêtage et de stockage de vos données. Cela signifie que lorsque vous importez, copiez, supprimez ou exportez des données de Bigquery, vous ne paierez pas de frais correspondant aux opérations sous-jacentes. En revanche, vous serez facturé pour l’occupation des nouveaux espaces de stockage le cas échéant.
Par ailleurs, Google vous fait bénéficier de remises mensuelles pour certaines opérations. Vous profitez notamment de 10 Go offerts de stockage actif, 10 Go de stockage à long terme, et d’1 To pour le requêtage. L’explication de ces opérations est donnée dans la suite de cet article.
Pour consulter votre facturation BigQuery, ouvrez le menu de navigation de GCP, et cliquez sur « Facturation », puis « Accéder au compte de facturation associé ». Sur le volet de gauche, l’onglet « rapport » vous donne ensuite accès à l’historique des coûts, ainsi qu’aux coûts prévisionnels pour le mois en cours.
Vous pouvez alors choisir la période de facturation, et la décomposer par projet, produit ou SKU, afin d’identifier les principales composantes de votre facture mensuelle.
En sélectionnant BigQuery dans la liste des produits sur le volet de droite, vous pouvez à présent constater que quelques SKU représentent la plus grande partie de votre facturation :
- Analysis : il s’agit des coûts générés par les requêtes effectuées sur vos données BigQuery. Les requêtes programmées (scheduled requests en anglais) ainsi que les requêtes effectuées manuellement entrent en compte dans la composition des coûts d’analyse. Ces manipulations de données sont facturées à hauteur de 5$ par To de données traitées. Avant chaque requête, il est donc recommandé de vérifier son poids. Lorsque votre requête porte sur une plage de plusieurs dates, testez-la au préalable sur une unique date pour vous assurer de sa cohérence. Pour en savoir plus sur les bonnes pratiques liées au requêtage sur BigQuery, vous pouvez consulter ce lien.
(Exemple : ici, la requête coûtera 0,0322 * 5$, soit 0,16$).
- Streaming Insert : il s’agit des coûts relatifs à l’écriture en flux continu dans BigQuery (streaming). Un des exemples est l’alimentation des tables ga_realtime_sessions, effectuée en temps quasi réel si cette option a été paramétrée au moment de l’association entre Google Analytics et BigQuery. Si vous jugez ne pas avoir besoin de déverser vos données aussi fréquemment dans BigQuery, rendez-vous dans le menu « Administration » de l’interface Google Analytics > « Association de produits » > « Tous les produits » > « Google BigQuery » > « Paramétrer l’association » > « Sélectionner les préférences de streaming pour le jour en cours ».
- Active Storage : Il s’agit des coûts de stockage de vos tables dont au moins une modification a eu lieu au cours des 90 derniers jours.
- Long Term Storage : si une table BigQuery n’est pas modifiée pendant 90 jours, son coût de stockage est divisé par deux et se retrouvera dans cette catégorie.
Pour retrouver en détail les coûts associés à chaque catégorie d’opération, vous pouvez consulter cette page de la documentation officielle de Google.
Google Stackdriver – Mise en place d’un tableau de bord de monitoring et d’e-mails d’alerting
Si vous souhaitez superviser vos coûts BigQuery de manière plus régulière, voire en temps réel, vous devrez chercher « Stackdriver API » dans l’interface GCP, puis cliquer sur « activer l’API ». Vous retrouverez ensuite l’application de surveillance de Stackdriver dans le menu de navigation de GCP :
Cliquez sur cette dernière, puis dans Dashboard, choisissez « Create Dashboard ». Vous pourrez ainsi créer un tableau de bord pour visualiser vos pics de consommation de ressource. Pour plus de renseignements, vous pouvez consulter ce lien.
L’étape suivante consiste à mettre en place un simple système d’envoi de mail en cas de consommation importante de ressource. Pour cela, toujours dans Stackdriver, cliquez sur « Alerting » > « Create a Policy ». Choisissez ensuite la métrique désirée et remplissez l’adresse e-mail à laquelle vous souhaitez recevoir les alertes.
Google Stackdriver – Configuration des journaux d’accès aux données
Si vous le désirez, Google Stackdriver vous permet également d’entrer dans un niveau de détail plus fin en étudiant les journaux (logs) propres à chaque tâche effectuée. Pour cela, rendez-vous dans la visionneuse de journaux. Malheureusement, ces logs ne contiennent plus l’information du coût de chaque tâche effectuée (information confirmée par le support de Google le 08/10/2019). Toutefois, l’historique des requêtes du projet peut être consulté pour les 3 derniers jours dans la console BigQuery. Combinée au système de monitoring/alerting paramétré sur Stackdriver, il est donc possible de retrouver et analyser les requêtes récentes les plus coûteuses.
Si certaines informations contenues dans les journaux Stackdriver vous intéressent, un export de ces journaux peut être paramétré. L’export se fera sous forme de tables dans BigQuery, que vous pourrez alors requêter via la console, et visualiser grâce à Google Data Studio.
Suivre l’évolution des coûts… Ou la prédire ?
Vous disposez à présent d’une meilleure compréhension du mode de facturation des tâches effectuées sur BigQuery, et de la manière de surveiller son évolution.
Si vous utilisez déjà BigQuery et d’autres produits de GCP (Compute Engine, AI Platform…), nous vous proposons de consulter cet excellent tutoriel de création d’un modèle de prédiction des coûts, qui pourrait vous éviter de mauvaises surprises lors de la réception de votre prochaine facture.
Si vous envisagez de migrer tout ou une partie de vos données sur la plateforme GCP, vous trouverez ici un calculateur de coûts qui vous aidera à budgétiser vos dépenses mensuelles. Converteo peut vous accompagner dans l’adoption de cette plateforme, du cadrage à la réalisation d’analyses avancées. N’hésitez pas à nous contacter !
Auteur : Sébastien Zinn, Consultant