Attribution de coûts

Une organisation peut se faire une idée du coût d’utilisation de Snowflake en attribuant ces coûts à des unités logiques au sein de l’organisation (par exemple, des départements, des environnements et des projets). Ce modèle de rétrofacturation (chargeback) ou de récupération des données de facturation (showback) est utile à des fins comptables, mais il permet également à une organisation d’identifier les unités qui dépensent le plus. Ces informations permettent d’identifier les secteurs de l’organisation qui pourraient bénéficier de contrôles et d’optimisations afin de réduire les coûts.

Attribution de coûts de ressources individuelles

Le moyen le plus direct et le plus puissant d’attribuer un coût à différents groupes tels que des départements, des environnements ou des projets consiste à baliser des ressources spécifiques à l’aide de la fonction de balisage d’objets. Dans cette stratégie, un administrateur crée une balise (par exemple, cost_center), puis définit une liste de valeurs possibles de la balise (par exemple, sales, finance). Dans cet exemple, chaque centre de coûts reçoit une valeur de balise unique. La combinaison balise/valeur est ensuite affectée aux ressources utilisées par un centre de coûts. Comme ces ressources consomment des crédits, vous pouvez exécuter des rapports groupés par la valeur de la balise. Comme cette valeur de balise correspond directement à un groupement particulier au sein de l’organisation, les coûts peuvent être attribués avec précision.

Le balisage d’objets vous permet d’attribuer un coût en fonction d’un élément aussi général qu’un compte ou aussi spécifique qu’un tableau. Notez que tous les objets qu’il est possible de baliser n’accumulent pas de coût. Du point de vue de la gestion des coûts, le balisage d’un objet n’a de sens que s’il existe une vue du schéma qui contient des données d’utilisation ou de coût liées à cet objet. Pour une liste des vues de l’utilisation et des coûts de Snowflake, voir Exploration du coût global.

Flux de travail d’attribution

L’utilisation de balises d’objet pour attribuer un coût consiste en trois tâches de base :

  1. Concevoir une stratégie de balisage et créer les balises appropriées.

  2. Marquer les ressources avec la bonne paire balise/valeur.

  3. Exécuter des rapports basés sur les données d’utilisation et de balisage.

Pour illustrer ce flux de travail, considérons un compte Snowflake qui :

  • A deux centres de coûts : les ventes et les finances.

  • Possède trois entrepôts. Les ventes utilisent Entrepôt1 et Entrepôt2, tandis que le service financier utilise Entrepôt3.

Trois entrepôts dans un compte

Dans cet exemple, l’objectif est d’attribuer les coûts associés à chaque entrepôt au département approprié.

Note

L’exemple suivant suppose que les privilèges appropriés ont été accordés au rôle tag_admin. Une organisation peut utiliser les autorisations de balisage granulaires pour développer une stratégie de balisage sécurisée.

Tâche 1 : concevoir une stratégie de balisage et créer les balises appropriées

Dans cet exemple, un administrateur disposant des privilèges appropriés crée une seule balise appelée cost_center.

USE ROLE tag_admin;
USE SCHEMA my_db.my_schema;
CREATE TAG cost_center;
Copy
Tâche 2 : baliser les objets avec la bonne paire balise/valeur

L’administrateur des balises applique la paire balise/valeur appropriée aux entrepôts. Par exemple, comme le département des ventes utilise à la fois warehouse1 et warehouse2, la même combinaison balise/valeur est appliquée à ces deux ressources.

USE ROLE tag_admin;
ALTER WAREHOUSE warehouse1 SET TAG cost_center='SALES';
ALTER WAREHOUSE warehouse2 SET TAG cost_center='SALES';
ALTER WAREHOUSE warehouse3 SET TAG cost_center='FINANCE';
Copy

Note

Si les administrateurs veulent contrôler les valeurs qui peuvent être définies sur l’objet, ils peuvent utiliser le paramètre facultatif allowed_values lors de la création de la balise. Pour plus de détails, voir CREATE TAG.

Tâche 3 : exécuter des rapports basés sur les données d’utilisation et de balisage.

Vous pouvez attribuer des coûts en rendant compte de l’utilisation des ressources qui ont la balise cost_center. Ces données sont disponibles dans Snowsight, ou en interrogeant le schéma SNOWFLAKE.ACCOUNT_USAGE.

Snowsight:
  1. Passer à un rôle qui a accès au schéma ACCOUNT_USAGE.

  2. Accédez à Admin » Cost Management.

  3. Sélectionnez Consumption.

  4. Dans la liste déroulante Tags, sélectionnez la balise cost_center.

  5. Pour se concentrer sur un centre de coûts spécifique, sélectionnez une valeur dans la liste des valeurs de la balise.

  6. Sélectionnez Apply.

Pour plus de détails sur le filtrage dans Snowsight, voir Filtrage par balise.

SQL:

Le schéma Account Usage contient des données concernant à la fois l’utilisation des ressources et les balises du schéma. L’exécution d’une requête sur les vues de ce schéma attribue la consommation de crédit par les entrepôts au centre de coût approprié.

USE snowflake.account_usage;

SELECT tag_value AS cost_center,
  SUM(credits_used)
FROM warehouse_metering_history, tag_references
WHERE warehouse_name=object_name
  AND tag_name='COST_CENTER'
GROUP BY 1
ORDER BY 2 DESC;
Copy

La requête renvoie un rapport comme ce qui suit :

COST_CENTER

CREDITS_USED

SALES

17,173333333

FINANCE

8,14444444

Pour plus de détails sur l’utilisation des balises d’objet, voir Balisage d’objets.