Skip to content

Azure Data Factory implementation

We build ADF pipelines that load your sources every day, with parameters, Git and alerts, drawing on what we learnt from daily loading for Vivara.

Every day, Vivara’s data platform pulls data from SAP, Magento and SharePoint on Azure, using DevOps

The data platform we developed for Vivara extracts data daily from sources such as SAP, Magento and SharePoint, using Azure and Databricks, with DevOps and Terraform. Azure Data Factory is not part of this case study; it shows how we build daily data ingestion pipelines on Azure.

Read the case study

Why does our overnight pipeline fail without anyone noticing until morning?

Each source has its own copied pipeline, changes go straight into the live factory, and a failed run triggers no notification. An ADF implementation addresses this with reusable pipelines, a defined process through Git, and alerts.

Schedule a conversation

An ADF implementation defines the loading pattern, runtimes, triggers and route to production

Discuss your pipelines

One pattern for many tables

A linked service with a database parameter, and a pipeline that reads the source and destination for each table from a list.

A runtime in your own network

A self-hosted integration runtime on a Windows server at your site retrieves data from SQL Server or SAP, with a second node for availability.

Triggers that fill the gaps

A tumbling window trigger loads fixed time intervals, including past intervals, and retries failed runs. An event trigger starts when a new file arrives.

From Git to production

Develop in a factory with Git, then move through a pull request and Azure DevOps to testing and production. Vivara’s platform also uses DevOps.

We’ll tackle the loading paths that fail most often first

  1. Factory inventory

    Which pipelines, linked services, runtimes and triggers exist, what fails frequently and what each run consumes.

  2. Build the pattern and deployment path

    A parameterised loading pattern, secrets in Key Vault, Git integration and a release path to test and production.

  3. Monitor and hand over

    Alerts for failed runs, logs in Log Analytics and documentation, so your team can manage the factory themselves.

Is Azure Data Factory still the right place for our pipelines?

Discuss it with us

A good fit if

You already work in Azure, some of your data sources are on your own network, and you have ADF pipelines that need to be more reliable, or you load data into Databricks, SQL or Data Lake Storage.

Not a good fit if

You’re starting from scratch with data integration. In that case, Microsoft recommends starting with Data Factory in Fabric. We can help with that too, through our page on Fabric.

What determines the scope

The number of data sources and pipelines, how many sources are behind a firewall, whether Mapping Data Flows or SSIS packages are involved, the number of environments and who will manage them afterwards.

What are the costs of ADF?

ADF charges, among other things, per activity run, per DIU-hour for copying on the Azure runtime and per vCore-hour for data flows. You can see usage per pipeline run.

Keep ADF, move to Data Factory in Fabric, or run both side by side first?

Keep and improve ADF

Choose this if your Azure pipelines are a good fit, with self-hosted runtimes, Key Vault and managed identity. Getting your loading pattern, Git and alerts in order first quickly brings stability.

Run both side by side first

Choose this if you want to make the move step by step. Our advice: add your existing factory as an item in a Fabric workspace, then move over one domain at a time.

Move to Data Factory in Fabric

Choose this if Fabric is becoming your standard. Self-hosted runtimes then become on-premises data gateways. See Microsoft Fabric implementation.

As a Microsoft Partner, we build data loading pipelines on Azure and in Fabric

Data Science Lab has worked with data and AI since 2016 and is a Microsoft Partner and Databricks Partner. For Vivara, we developed a data platform on Azure that pulls data from SAP, Magento and SharePoint every day.

Book an introductory meeting

Your pipelines and what’s failing are the starting point for our first conversation

Stef Stoelwinder

Stef Stoelwinder

Business Development

Stef is your point of contact. In our first conversation, we’ll discuss which sources you load, what’s failing and where the data needs to go.

Which pipelines in our factory need the most attention right now?

Describe your data sources, your current pipelines and where things are getting stuck. We'll reply by email or arrange an initial conversation.

Enter a valid email address.

Let us know how we can help you.

Frequently asked questions

You configure the factory so that pipelines load data reliably and repeatably. A pipeline is a series of activities, such as copying data or starting a notebook. A linked service describes a source or compute service, and the integration runtime provides the computing power between them. An Azure Data Factory consultant designs the loading pattern, runtimes, triggers and route to production.

ADF is the loading layer of a data and AI platform. If you want to set up the entire platform on Azure, including storage, networking and compute, read about setting up an Azure data platform.

When a source is on a private network without a direct connection to the cloud, such as an on-premises SQL Server. The self-hosted runtime runs on a Windows machine behind your firewall and makes only outbound HTTP connections. You also need it for sources that require their own driver, such as SAP HANA and MySQL; Java must be installed on the same machine for these.

For availability, you can connect multiple machines to one runtime, operating in active-active mode. In CI/CD, the runtime must have the same name and type in every environment.

A schedule trigger starts pipelines at set times and can start several pipelines at once. It reports success as soon as a run begins, even if that run fails later. A tumbling window trigger works with consecutive time windows, waits for the outcome of a run, can load historical data and retries failed runs.

For incremental hourly or daily loads, the tumbling window trigger is therefore often the safer choice. For new files in a storage account, use a storage event trigger.

By passing parameters with each run. Microsoft gives the example of using one linked service for different databases on the same SQL Server: you make the database name a parameter instead of creating a linked service for each database. A pipeline then reads from a list to determine which tables to load.

Do not parameterise passwords. Microsoft recommends storing secrets in Azure Key Vault and using only the secret’s name as a parameter.

Developers work in a development factory connected to Git, each in their own branch. After a pull request, the change moves through Azure Pipelines to test and production, using Resource Manager templates and parameters for each environment. This means no one needs to change anything in the live factory.

Watch out for settings that are not included in those templates, such as cost reporting per pipeline. You need to enable that separately in each factory.

Set an alert on the failed pipeline runs metric so the team is notified of every error. Data Factory retains run data for only a limited time. Send the logs to Log Analytics through diagnostic settings; you can also query multiple factories together there.

For each pipeline run, you can see usage by meter. If you enable cost reporting per pipeline, Cost Management shows you what each pipeline costs.

Microsoft calls Data Factory in Fabric the next generation of ADF. There are three routes: add your existing factory as an item in a Fabric workspace, upgrade pipelines using the built-in upgrade, or rebuild them. The upgrade classifies each pipeline as Ready, Needs review, Coming soon or Not compatible.

Linked services become connections, datasets are defined within the activity itself, and global parameters become a variable library. Also compare it with Azure Synapse if your pipelines run there.

If you have a few sources that Power BI can refresh itself, or if you are starting from scratch and Fabric is already the standard, a separate ADF environment adds management work without any benefit.

If the problem is not loading data but what happens to it afterwards, such as models, tests and data quality, start with data engineering.