Application de FinOps à Azure Data Factory

Cet article décrit la manière d’appliquer FinOps dans Azure Data Factory.

Qu’est-ce que FinOps ?

Le Technical Advisory Council (Conseil technique consultatif) de la FinOps Foundation définit FinOps ainsi :

FinOps est une discipline et une pratique culturelle de gestion financière du cloud en constante évolution qui permet aux organisations de maximiser leur valeur métier en aidant les équipes d’ingénierie, financières, techniques et commerciales à collaborer sur des décisions en matière de dépenses pilotées par les données.

À la base, FinOps est une pratique culturelle. Il s’agit d’un moyen pour les équipes de gérer les coûts liés au cloud, où tout le monde assume son utilisation du cloud dans le cadre d’un groupe central de bonnes pratiques. Les équipes plurifonctionnelles des services d’ingénierie, des finances, des produits, etc. travaillent ensemble pour accélérer la livraison des produits, tout en obtenant plus de contrôle financier et de prévisibilité.

Diagram showing a high-level overview of how FinOps works in an organization.

Comment appliquer FinOps à Azure Data Factory

Azure Data Factory correspond au service d’intégration de données et ETL (extraction, transformation et changement) de Microsoft dans le cloud. Pour atteindre l’efficacité de la budgétisation et des contrôles des coûts dans la fabrique de données, nous allons d’abord examiner le modèle tarifaire pour mieux le comprendre. Ensuite, il est important d’analyser vos dépenses au niveau de la fabrique et du pipeline. Pour cela, vous pouvez vous reporter aux rapports de consommation intégrés de la fabrique de données et au niveau de l’abonnement Azure en utilisant les fonctionnalités de gestion et d’analyse des coûts Azure. Enfin, nous nous intéressons à la définition de limites de dépense sur votre abonnement Azure pour vous aider à proposer des contrôles des coûts.

Comprendre les tarifs Azure Data Factory

Le graphique ci-dessous explique le flux général du calcul des tarifs de la fabrique de données. Il montre comment utiliser la calculatrice de prix Azure pour calculer les tarifs. Dans l’ensemble, la compréhension préalable de la facturation de la fabrique de données impliquent ces coûts : orchestration, exécution, type de runtime d’intégration (IR), déplacement des données (copie) et flux de données.

  1. Vérifiez si votre source de fabrique de données ou runtime d’intégration de récepteur utilise un réseau virtuel (VNet) managé. Si oui, l’orchestration et l’exécution sont calculées à l’aide du runtime d’intégration du réseau virtuel managé Azure. Dans le cas contraire, passez à l’étape suivante.
  2. Vérifiez si la source ou le récepteur utilise le runtime d’intégration auto-hébergé. Si oui, l’orchestration et l’exécution sont calculées par le runtime d’intégration auto-hébergé, et le coût total est égal à la somme des coûts de l’orchestration et de l’exécution. Si la réponse est non, l’orchestration et l’exécution sont calculées par le runtime d’intégration Azure.
  3. Pour le runtime d’intégration Azure et le runtime d’intégration du VNet managé Azure, vérifiez si vous utilisez un flux de données. Si oui, le coût total est égal à la somme des coûts du cluster de flux de données, de l’orchestration et de l’exécution. Si la réponse est non, le coût total correspond simplement à la somme des coûts de l’orchestration et de l’exécution.

Flow chart showing the process to calculate costs for Azure Data Factory.

Exemples de scénarios

Examinons plusieurs exemples de scénarios de fabrique de données courants et de coûts estimés associés à chaque charge de travail. Pour chaque exemple, gardez à l’esprit ces normes sur les coûts d’une fabrique de données :

  • Quand vous examinez votre facture, n’oubliez pas que la fabrique de données fait l’objet d’arrondis à la minute supérieure pour chaque durée d’activité (c’est-à-dire que 1 min 1 s = facturation de 2 min).
  • Les exemples suivants s’appuient sur des scénarios courants et montrent les coûts estimés.
  • D’autres coûts peuvent être induits par les magasins de données et les services externes que vous utilisez dans Azure.
  • Vos coûts réels peuvent différer légèrement de ces exemples en fonction des conditions de contrat commercial que vous avez conclues avec Microsoft.
  • Ce lien fournit d’autres exemples : Comprendre les tarifs Azure Data Factory via des exemples.

Exemple : Copier des données et les transformer toutes les heures avec Azure Databricks

Dans ce scénario, vous souhaitez copier des données d’AWS S3 vers le Stockage Blob Azure et les transformer avec Azure Databricks selon une planification horaire de 8 heures par jour pendant 30 jours.

Les prix mentionnés dans cet exemple sont hypothétiques et n’ont pas vocation à indiquer des prix réels exacts. Les coûts de lecture/écriture et de surveillance ne sont pas affichés, car ils sont généralement négligeables et n’ont pas d’impact significatif sur les coûts globaux. Les exécutions d’activité sont également arrondies au 1 000e le plus proche dans les estimations de la calculatrice de prix.

Configuration

Pour réaliser ce scénario, créez un pipeline avec les éléments suivants :

  1. Une activité de copie avec un jeu de données d’entrée pour les données à copier à partir d’AWS S3 et un jeu de données de sortie pour les données sur le Stockage Azure.
  2. Une activité Azure Databricks pour la transformation de données.
  3. Un déclencheur de planification pour exécuter le pipeline toutes les heures. Lorsque vous souhaitez exécuter un pipeline, vous pouvez le déclencher immédiatement ou le planifier. En plus du pipeline lui-même, chaque instance de déclencheur compte comme une seule exécution d’activité.

Estimation des coûts

Reportez-vous à la calculatrice de prix Azure et effectuez les étapes suivantes :

  1. Si la source et le récepteur n’utilisent pas de réseau virtuel managé Azure, passez à l’étape 2.
  2. Si la source et le récepteur n’utilisent pas de runtime d’intégration auto-hébergé, l’orchestration et l’exécution sont calculées à l’aide du runtime d’intégration Azure.
  3. Nous utilisons uniquement l’activité de copie et une activité externe ici. L’activité de flux de données n’est pas utilisée, donc le coût total est égal à la somme des coûts de l’orchestration et de l’exécution.

Prix estimé pour un mois (8 heures par jour pendant 30 jours) :

Types Calcul
Orchestration (nombre d’exécutions d’activité en milliers) 3 exécutions d’activité par exécution (1 pour l’exécution du déclencheur, 2 pour les exécutions d’activité).
Nombre d’exécutions d’activité/mois = 3 * 8 * 30 = 720.
Nombre d’exécutions d’activité en milliers/mois = 1
Exécution 1. Nombre d’heures d’unité d’intégration de données (DIU) :
   • Heures DIU par exécution = 10 min
   • Paramètre DIU par défaut = 4
   • Heures DIU/mois = (10 min/60 min) * 4 * 8 * 30 = 160

2. Nombre d’heures d’exécution de l’activité de pipeline externe :
   • Par durée d’exécution : 10 min
   • Nombre d’heures d’exécution de l’activité de pipeline externe = (10 min/60 min) * 8 * 30 = 40

Exemple de calculatrice de prix

Prix total du scénario pendant 30 jours : 41,01 $

Screenshot of the Azure pricing calculator showing the cost estimation for this scenario.

Exemple : Utilisation du débogage du flux de données de mappage pour une journée de travail normale

Cet exemple montre les coûts de débogage de flux de données de mappage pour un workday classique pour un ingénieur de données. Les prix mentionnés dans l’exemple suivant sont hypothétiques et n’ont pas vocation à indiquer des prix réels exacts. Les coûts de lecture/écriture et de surveillance ne sont pas affichés, car ils sont généralement négligeables et n’ont pas d’impact significatif sur les coûts globaux. Les exécutions d’activité sont également arrondies au 1 000e le plus proche dans les estimations de la calculatrice de prix.

Ingénieur Azure Data Factory

Un ingénieur de la fabrique de données est en charge au quotidien de la conception, de la création et du test des flux de données de mappage. Le matin, l’ingénieur se connecte à Azure Data Factory Studio et active le mode débogage pour les flux de données. La durée de vie (TTL) par défaut pour les sessions de débogage est de 60 minutes. L’ingénieur travaillant 8 heures par jour, la session de débogage n’expire jamais. Par conséquent, les frais encourus pour la journée de l’ingénieur sont les suivants :

8 heures * 8 cœurs optimisés pour le calcul * 0,193 $ de l’heure par cœur = 12,35 $

Budgétisation

Lors de la planification d’une implémentation Azure Data Factory, il est important de comprendre et de prévoir vos coûts afin de créer un budget pour vos projets ETL et d’intégration de données.

Screenshot of the pipeline monitoring screen highlighting the consumption report button.

Sélectionnez le bouton du rapport de consommation dans la vue du monitoring du pipeline pour obtenir un instantané des unités facturées pour chaque exécution.

Dans la page de monitoring, vous pouvez utiliser manuellement le rapport de consommation pour toute exécution de pipeline à partir d’une exécution de débogage ou déclenchée manuellement, ou même d’une exécution de déclencheur automatisé.

Screenshot of the pipeline run consumption window showing the total units billed for a run.

Le rapport de consommation du pipeline de fabrique de données indique une estimation des unités facturées. Vous pouvez exécuter ces tests à l’aide d’une exécution de débogage de votre pipeline sur des jeux de données plus petits, puis extrapoler votre budget de production à partir de ces estimations.

Le rapport de consommation fournit des valeurs en unités. Pour en déduire une estimation en devises, multipliez la valeur des unités indiquée dans ce rapport par le prix en vigueur dans votre région selon la calculatrice de prix Azure. Vous obtenez alors une estimation pour l’exécution de ce pipeline. Une bonne pratique consiste à exécuter le pipeline plusieurs fois avec différents jeux de données pour obtenir une plage de coûts de référence et utiliser une moyenne de ces exécutions pour votre budgétisation.

Optimisation des coûts Azure

Cette section décrit l’optimisation des coûts avec Microsoft Cost Management, avec Azure Advisor et pour des instances réservées dans la fabrique de données.

Microsoft Cost Management

Microsoft Azure fournit des outils qui vous aident à suivre, optimiser et contrôler vos dépenses Azure. Si les dépenses de votre fabrique de données sont une priorité absolue, il est recommandé de créer un groupe de ressources distinct dans Azure pour chaque fabrique de données. Ainsi, il est facile de créer des budgets, de suivre vos dépenses et d’appliquer des contrôles de coûts à l’aide de Microsoft Cost Management.

Screenshot showing the Microsoft cost management page in Azure.

Aujourd’hui, les organisations font des efforts titanesques pour contrôler leurs dépenses et en faire plus avec moins. Vous pouvez utiliser la fonctionnalité des budgets Azure pour définir des limites de dépense sur votre utilisation d’Azure Data Factory v2 et du groupe de ressources Azure global que vous utilisez pour la fabrique de données.

Screenshot of the Azure budgets page showing how to set budgets for a service.

Dans la fenêtre Créer un budget, utilisez des filtres pour choisir le service ou un groupe de ressources Azure Data Factory.

Azure Advisor

Azure Advisor est un autre outil précieux pour optimiser votre budget Azure. Avec Azure Advisor, vous pouvez recevoir des recommandations pour réduire vos dépenses Azure globales. L’utilisation des tarifs d’instance réservée Azure Data Factory pour réduire les coûts des flux de données de mappage est également concernée. Vous pouvez aussi payer les frais Azure Data Factory avec votre crédit de paiement anticipé Azure.

Screenshot showing the Azure Advisor window that can provide recommendations including cost reduction optimizations.

Instances réservées dans Azure Data Factory

Des instances réservées sont disponibles dans Azure Data Factory pour les flux de données de mappage, que vous pouvez utiliser pour réaliser des économies sur les prix usuels des flux de données. Avec des instances réservées, vous pré-achetez des réservations de 1 ou 3 ans avec des remises en fonction de la durée de la réservation. Pour voir une vue personnalisée de vos économies réalisables avec des instances réservées, accédez au portail Azure et choisissez Réservations, puis sélectionnez la fabrique de données. À partir de là, vous allez choisir le type des flux de données que vous utilisez habituellement, et le portail Azure va estimer vos futures économies en fonction de votre utilisation précédente de la fabrique de données.

Screenshot showing the Azure reservations page with data factory highlighted.

Réserver une capacité de flux de données de mappage à l’aide d’instances réservées peut vous octroyer une remise immédiate sur les dépenses globales de votre fabrique de données liées directement à l’utilisation de vos flux de données.

Suivi des dépenses de votre fabrique de données

Quand vous créez votre infrastructure d’intégration de données dans Azure, il est important de suivre vos dépenses au fil du temps. Il existe plusieurs façons de suivre le budget de votre fabrique de données. Par défaut, la fabrique de données fournit un récapitulatif du coût global de votre fabrique en fonction des différents compteurs de facturation utilisés par le service.

Comment utiliser la vue granulaire de facturation du pipeline

Vous pouvez demander à la fabrique de données de fournir un cumul de vos coûts au niveau du pipeline en la définissant de sorte à ce qu’elle utilise une facturation par pipeline dans les options de ses paramètres.

Screenshot showing the Azure Data Factory Studio manage tab's settings page with the billing by pipeline setting selected.

Cette vue décompose les dépenses de votre fabrique de données par pipeline. Elle peut s’avérer utile pour attribuer des coûts au niveau d’un élément plutôt que d’obtenir un cumul au niveau de la fabrique (ce qui correspond à la valeur par défaut).

Screenshot showing the billing report for pipeline granular billing with a breakdown of costs per pipeline.

La vue au niveau du pipeline de la facture de votre fabrique de données s’avère utile pour attribuer les coûts globaux de la fabrique de données à chaque ressource de pipeline. Elle s’avère également utile pour fournir un mécanisme simple de rétrofacturation aux utilisateurs de votre fabrique, à la fois pour la consommation de l’organisation en interne et l’utilisation par des clients ou partenaires externes.

Comment utiliser des étiquettes pour l’attribution des coûts de pipeline

Un autre mécanisme de suivi des coûts de votre ressource de fabrique de données consiste à utiliser des étiquettes dans votre fabrique. Vous pouvez affecter la même étiquette à votre fabrique de données et à d’autres ressources Azure, en les plaçant dans la même catégorie pour regrouper leur facturation. Tous les runtime d’intégration SSIS (SQL Server Integration Services) au sein de la fabrique héritent de cette étiquette. N’oubliez pas que si vous modifiez l’étiquette de votre fabrique de données, vous avez besoin d’arrêter et de redémarrer tous les runtimes d’intégration SSIS au sein de la fabrique pour qu’ils héritent de la nouvelle étiquette. Pour plus d’informations, reportez-vous à la section Reconfigurer un runtime d’intégration SSIS.