Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Démasquer les requêtes Google BigQuery qui coûtent cher

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

By Vadim SoloveySep 24, 20192 min read
Vadim Solovey

About Vadim Solovey

Founded DoiT in 2011 and have been here ever since — in every flavor of CTO, co-CEO, and now CEO. I started my career in 1999 building data centers before anyone called it "the cloud," and I've spent the two decades since trying to deliver on what the cloud was actually supposed to be. I still write code most weeks.

My personal page

1 gqtfxmqd1oa8uesnnnkbrw

Identifiez les requêtes Google BigQuery qui méritent une optimisation des coûts et formez vos utilisateurs aux bonnes pratiques d'exécution.

Le BigQuery snitch en action pour repérer les requêtes coûteuses

Il nous arrive à tous, de temps à autre, d'exécuter des requêtes Google BigQuery non optimisées. L'essentiel, c'est la vitesse à laquelle on les repère, on en tire les leçons et on passe à la suite.

Chez DoiT International, en tant que Google Managed Service Provider, nos clients nous demandent souvent comment leurs équipes peuvent faire remonter ces requêtes dès leur exécution. L'un de mes collègues, Moshe Ohayon, a trouvé une réponse élégante à ce problème et l'a publiée en open source : tout le monde peut désormais l'utiliser (et la faire évoluer !).

PerfectScale™ for Kubernetes

Ready to optimize?

Get your free Kubernetes savings analysis

En suivant le README, vous pouvez déployer une simple Google Cloud Function qui surveille l'ensemble de vos requêtes Google BigQuery et publie sur Slack celles qui dépassent `ALERT_THRESHOLD`.

Le `config.json` ci-dessous déclenche des alertes pour toute requête supérieure à 10 $ et envoie un message à la fois sur Slack et par e-mail.

{
"

ALERT_THRESHOLD": 10

,
"TB_COST": 5,
"SLACK_ALERT": true,
"SLACK_WEBHOOK_URL": "

https://hooks.slack.com/services/.

..",
"SLACK_WEB_API_TOKEN": "",
"SLACK_WEB_API_DESTINATION_CHANNEL": "",
"EMAIL_ALERT": true,
"SENDGRID_API_KEY": "SG...",
"EMAIL_SENDER": "

Your cloud bill shouldn't be a mystery

Optimization, automation, expertise. In one platform.

[email protected]

",
  "EMAIL_CC": [\
    "\
```\
\
[[email protected]](mailto:[email protected])\
\
```\
"\
  ],
  "FIELDS_TO_RETRIEVE": [\
    "job_id",\
    "user_email",\
    "total_bytes_billed",\
    "total_bytes_processed"\
  ]
}

1 xmiy6uklefgx793 uuw3ewExemple de notification bq-snitch publiée sur Slack. J'avoue, ma requête de démonstration manque un peu d'originalité ;-)

bq-snitch peut aussi envoyer les notifications par e-mail. Pensez à activer Sendgrid sur votre projet Google Cloud Platform et à renseigner votre clé d'API Sendgrid dans le config.json.

Taboola.com fait partie des premiers bêta-testeurs de bq-snitch.

Les gains de visibilité apportés par cet outil sont tangibles. Un retour rapide et précis nous aide à mieux piloter nos coûts cloud dans leur ensemble.

Si vous utilisez Google BigQuery (avec Slack ou l'e-mail), testez bq-snitch. Si vous avez des idées pour l'améliorer, vos issues et pull-requests sont les bienvenues sur GitHub.

Si rien de tout cela ne vous parle, vous pouvez toujours nous laisser une étoile 😇

Envie d'en lire davantage ? Faites un tour sur notre blog ou suivez Vadim sur Twitter.