Home / Nieuws / Waar je rekening mee moet houden bij de Azure Data Factory
20 april 2021
Door: Dennis Barhorst

Waar je rekening mee moet houden bij de Azure Data Factory

Featured image for a blog about Azure Data Factory

De azure data factory

De Azure Data Factory is een handige resource in het Azure landschap: het is goedkoop, flexibel en snel. Tijdens mijn werk als BI Consultant gebruik ik vaak deze bron als basis van data integraties. Maar waar moet je rekening mee houden als je dit gebruikt? In dit blog vertel ik je waar ik tegenaan ben gelopen bij de Azure Data Factory.

 

SSIS (SQL Server Integration Services)

Laat ik beginnen met de SSIS integratie. Dit klinkt als een erg fijne feature om te hebben, omdat je de oude on-prem SSIS integraties kan hergebruiken in de Cloud. Het ‘enablen’ van SSIS Pipelines is alleen een directe kostenpost van +/- €360 Euro per maand, op zijn goedkoopst, ongeacht of je het gebruikt of niet. Best een duur grapje dus. Dit terwijl Azure Data Factory zelf eigenlijk een vervolg versie is van SSIS. De meeste SSIS pipelines zijn goed om te bouwen en worden zo een stuk goedkoper.

 

Copy data acties

Een tweede belangrijk feit om te weten zit in frequent uit te voeren Copy data acties. Hier mee bedoel ik Data verplaatsingen elke 5 minuten voor een groot aantal tabellen. Tijdens de ontwikkeling van een Integratie oplossing tussen D365 Business Central en Azure SQL met behulp van de Data Factory zijn we tegen het volgende aangelopen:

De requirements waren “Elke 5 minuten data updaten voor 60 Tabellen”. Dit leek ons als team prima op te lossen met de Data Factory. De kosten om dit te draaien waren uiteindelijk €8644 euro per maand. Deze hoge kosten werden veroorzaakt door één activiteit, namelijk de “Copy Data”. De “Copy data” is met 0,25 euro per uur de duurste activiteit in de Data Factory, maar nog steeds niet astronomisch duur. Echter als we de rekensom gaan maken, zag die er als volgt uit voor onze requirements:

60 * 0,0667 * €0,25 = €1,0005 per run
1,005 * 12 = €12,006 per uur
12,006 * 24 = €288,144 per dag
288,144 * 30 = €8.644,32 per maand

Totaal aantal runs per maand: 51.840

 

Bij de berekening is de 0.0667 de runtime in uren en de 0,25 de kosten per uur. Deze runtime is de berekende en afgeronde runtime die in rekening wordt gebracht door Microsoft en is afgerond naar minuten. De 0.0667 komt neer op 4 minuten duratie, de duur van de pipeline zelf was per tabel echter nog geen minuut in lengte. Dit komt omdat er in één pipeline meerdere Copy data acties zaten. Zo werd voor een totale runtime van 23 seconden er dus 240 seconden in rekening gebracht. Wij konden deze wijze niet gebruiken om tot onze oplossing te komen.

 

Onze oplossing

Met de work around die we geïmplementeerd hebben, roept de pipeline nu in plaats van “Copy data” activiteiten, een function app aan. Deze function app kopieert en transformeert de data naar het goede format en schrijft dit naar de Azure SQL. Deze change heeft het kostenplaatje volledig omgegooid van €8.644 naar €32 per maand voor de Data Factory. De uitvoeringskosten van de function app? Die zijn slechts €0,11 per maand.

 

Een fijne tool

Er zijn dus verschillende zaken waar je zeker op moet letten, maar toch is de data Factory een hele fijne tool is die wij veel gebruiken. Als je weinig of niet frequent data moet verplaatsen, is het een goede oplossing om de “Copy data” activiteit te gebruiken. Zodra je veel entiteiten vaak wilt verversen via de Data Factory, is het een goed idee om te kijken of je de daadwerkelijke verplaatsing van de data niet kunt laten uitvoeren door middel van een function app.

 

Wil je meer weten over onze Azure diensten? Check dan even onze Azure pagina: