Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Pilotez vos coûts Snowflake depuis DoiT Cloud Intelligence

By Craig LowellSep 11, 20247 min read

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

Avec l'essor des environnements multicloud et le besoin croissant de solutions de data warehouse cloud à la fois évolutives, flexibles et puissantes, Snowflake s'est imposé comme la référence du marché, avec une part de marché supérieure à celle de solutions cloud-native comme Amazon Redshift et Google BigQuery, et près du double de son concurrent tiers le plus proche.

Cependant, comme pour tout service cloud, une gestion rigoureuse des coûts est essentielle pour tirer le meilleur parti de votre investissement. Sans suivi adéquat, les coûts Snowflake peuvent grimper de façon inattendue et entraîner des dépassements budgétaires ainsi qu'un manque de transparence financière. À cet égard, les données de coût et d'usage Snowflake ne diffèrent en rien de celles de vos autres fournisseurs cloud.

À mesure que votre activité se développe et que vos coûts cloud augmentent inévitablement, le data warehousing peut représenter une part significative de vos dépenses cloud (de 10 à 50 %), en particulier pour les entreprises ayant d'importants besoins en traitement et en analytique. Compte tenu de cet impact potentiel sur vos budgets IT et opérationnels, l'intérêt d'une gestion efficace des coûts et de l'usage sur l'ensemble de vos principaux postes de dépenses cloud devient évident.

Une visibilité globale des coûts grâce à Snowflake Lens

Ce besoin d'une vue unifiée est précisément ce qui a donné naissance à Snowflake Lens dans DoiT Cloud Intelligence™, un dashboard prêt à l'emploi qui apporte des capacités avancées d'analyse et de gouvernance à votre usage et à vos coûts Snowflake.

Dashboard Snowflake LensDashboard Snowflake Lens

Réunir les coûts Snowflake et ceux de vos autres fournisseurs cloud offre une vision complète de votre dépense cloud globale. Cette vue unifiée permet d'identifier la répartition des ressources entre les différents services (compute, stockage, réseau et data warehousing) et apporte un éclairage plus fin sur l'impact financier de l'ensemble de votre infrastructure cloud. Comprendre la place du data warehousing dans le contexte plus large de la dépense cloud facilite également les décisions liées à l'allocation des ressources, à la planification budgétaire et à l'identification des leviers d'économies.

Une fois votre compte Snowflake connecté à DoiT Cloud Intelligence – une opération qui ne prend que quelques minutes – et les données ingérées, le dashboard se remplit automatiquement, sans configuration supplémentaire. Six widgets de rapport composent ce dashboard :

  • Coût mensuel par service
  • Coût mensuel par région
  • Warehouses mensuels par coût
  • Coût mensuel par type d'usage
  • Top 10 des bases de données par coût de stockage
  • Top 10 des requêtes par utilisateur

Une fois Lens activé, chacun de ces widgets peut s'ouvrir dans un rapport Cloud Analytics complet, où vous pouvez ajuster la période, ajouter de nouveaux filtres ou regroupements, ou encore générer des analyses de tendance pour faciliter la prévision et la budgétisation.

Une fois ingérées, vos données deviennent également accessibles aux autres fonctionnalités de DoiT Cloud Intelligence incluses dans votre abonnement, dont les Dashboards, Attributions, Anomaly Detection et Alerts. De quoi non seulement contextualiser et surveiller vos coûts Snowflake, mais aussi vous garantir d'être averti (dans la console ou via votre intégration Slack / e-mail) dès qu'un pic de coût sort de la plage attendue.

Optimiser vos coûts Snowflake

Comme pour toute dépense IT ou cloud, tirer le meilleur parti de votre investissement Snowflake suppose de veiller à ce que vos coûts soient alignés sur votre budget — et, à défaut, qu'ils servent réellement vos objectifs métier. Autrement dit, il ne s'agit pas nécessairement de réduire les coûts à tout prix, mais plutôt de s'assurer que chaque euro dépensé est utile.

Cela dit, comme vous le diront de nombreux experts de l'équipe DoiT Cloud Solve, les opportunités d'optimisation sont souvent nombreuses lors d'un premier audit de l'usage Snowflake. Que vous le meniez par vos propres moyens ou avec l'aide de notre équipe de services interne, voici quelques stratégies courantes à garder à l'esprit pour passer ces coûts en revue.

Économies sur le compute

  1. Right-sizing des Virtual Warehouses

L'un des moyens les plus efficaces de réduire les coûts compute Snowflake consiste à dimensionner vos virtual warehouses en fonction de leurs workloads. Les grands warehouses peuvent coûter cher, et bien souvent, un warehouse plus petit offrira des performances similaires sur des workloads courants. Mieux vaut donc commencer petit et monter en puissance au besoin : démarrez avec des tailles modestes, surveillez les performances et ne montez en gamme que si l'exécution des requêtes l'exige. Beaucoup de nos clients constatent que leurs workloads tournent efficacement dans un warehouse x-small la majeure partie du temps ; partir de là et faire évoluer verticalement au besoin reste l'approche idéale.

  1. Consolidez vos Virtual Warehouses

Faire tourner plusieurs virtual warehouses pour des workloads similaires alourdit inutilement la facture. En consolidant vos warehouses, en particulier pour les équipes ou départements aux besoins de traitement de données proches, vous réduisez les temps d'inactivité et exploitez mieux vos ressources. Quelques stratégies clés :

  • Mutualisation des ressources : regroupez les warehouses petits et sous-utilisés en un warehouse unique plus grand, capable de traiter plusieurs tâches en parallèle, pour gagner en efficacité.
  • Auto-scaling : avec un virtual warehouse partagé et l'auto-scaling activé, Snowflake ajuste automatiquement les ressources lors des pics de demande, ce qui évite le sur-provisionnement et réduit les coûts pendant les périodes creuses.
  1. Posez des garde-fous sur les requêtes

Les requêtes longues ou inefficaces peuvent consommer des ressources compute considérables et faire grimper la facture.

  • Définir des timeouts de requêtes : ils empêchent des requêtes incontrôlées de monopoliser les ressources du warehouse. Fixez une durée d'exécution raisonnable au-delà de laquelle les requêtes sont interrompues — vous économisez du compute et incitez les utilisateurs à optimiser les requêtes inefficaces.
  • Auto-suspend & Auto-resume : envisagez aussi d'activer les options Warehouse Auto-suspend et Auto-resume. La bonne pratique consiste à les régler autour de 5 minutes (voire moins pour les warehouses très sollicités). Cela évite de garder un warehouse actif quand il ne sert pas.
  • Optimisez les Clustering Keys : utiliser des clustering keys dans Snowflake peut considérablement réduire le compute nécessaire en améliorant l'efficacité d'accès aux données et en limitant le volume scanné. Pour en tirer le meilleur parti, choisissez les colonnes les plus utilisées dans les filtres de requête (clauses 'WHERE'), les conditions 'JOIN' ou les opérations de tri. Snowflake organisera ainsi les données pour rendre ces requêtes plus efficaces.
  1. Refactorisez et optimisez vos requêtes

Passez régulièrement vos requêtes en revue pour vous assurer qu'elles sont conçues pour la performance et la maîtrise des coûts. Une indexation pertinente, la suppression des scans inutiles et la réduction des jointures améliorent les performances tout en faisant baisser la facture.

Économies sur le stockage

  1. Supprimez les tables et données inutilisées

Au fil du temps, les warehouses Snowflake accumulent des tables inutilisées, des données obsolètes ou des sauvegardes superflues, autant d'éléments qui font gonfler les coûts de stockage. Identifier et supprimer régulièrement les tables inutilisées permet de réduire la facture. On retrouve souvent dans cette catégorie des tables de staging utilisées pour des jobs ETL puis jamais effacées, ce qui alourdit inutilement le stockage. Vous pouvez aussi automatiser leur suppression à la fin des jobs pour éviter que cela ne se reproduise.

  1. Optimisez la compression des données

Snowflake compresse automatiquement les données pour réduire les besoins de stockage, mais la façon dont vous les stockez peut encore améliorer l'efficacité de la compression. Privilégiez alors des formats fortement compressibles comme Parquet ou ORC, qui offrent une meilleure compression que des formats tels que CSV. Ces formats réduisent l'empreinte globale des données tout en préservant les performances.

  1. Ajustez les paramètres de rétention des données

Les fonctionnalités Time Travel et Fail-safe de Snowflake permettent d'accéder à des données historiques pendant une certaine période, mais elles ont un coût de stockage. Ajuster ces paramètres peut réduire la facture : par exemple, raccourcir la période de rétention Time Travel ou limiter la rétention Fail-safe. Si Fail-safe offre une fenêtre de récupération de 7 jours après expiration de Time Travel, ce stockage supplémentaire peut s'avérer coûteux. Réserver Fail-safe aux cas où il est réellement nécessaire évite de mauvaises surprises côté budget.

  1. Utilisez des tables temporaires ou transitoires

Le recours aux tables temporaires et transitoires dans Snowflake est un levier efficace pour réduire les coûts de stockage, en particulier pour des données éphémères ou des résultats intermédiaires qui n'ont pas vocation à être conservés sur le long terme.

  • Les tables temporaires sont idéales pour stocker des données intermédiaires ou propres à une session lors de processus ETL, de requêtes complexes ou de transformations de données. Comme elles ne sont disponibles que dans la session qui les a créées et sont supprimées automatiquement à la fin de celle-ci, elles évitent les coûts de stockage long terme inutiles.
  • Les tables transitoires sont utiles pour des données qui doivent persister sur plusieurs sessions, mais sur une courte durée. Contrairement aux tables permanentes, elles n'ont pas de Fail-safe (la fenêtre de récupération de 7 jours de Snowflake), ce qui réduit les coûts. Elles disposent en revanche de Time Travel, mais vous pouvez définir une rétention plus courte pour minimiser le stockage.

Votre guichet unique pour les économies cloud, en pleine expansion

Snowflake Lens dans DoiT Cloud Intelligence s'inscrit dans notre démarche continue : fournir aux clients DoiT tous les outils et l'expertise nécessaires pour piloter efficacement leur environnement cloud sur l'ensemble de leurs principaux postes de dépenses. À l'avenir, de nouveaux fournisseurs de services et intégrations viendront s'ajouter pour vous permettre de centraliser l'intégralité de votre dépense IT pertinente dans la vue unifiée de DoiT Cloud Intelligence, réduisant encore les frictions au sein de votre pratique FinOps en pleine croissance.

Pour en savoir plus sur Snowflake Lens et son fonctionnement, cliquez sur l'image ci-dessous pour suivre une visite guidée complète en autonomie, ou échangez avec un expert DoiT.