An Azure service for ingesting, preparing, and transforming data at scale.
For this scenario, the enterprise-recommended pattern is to treat Dev and Prod as separate environments and use deployment automation (ARM/Bicep, Azure DevOps/GitHub, etc.) to recreate and deploy only the selected resources, rather than relying on ad‑hoc “move” operations.
Within the provided information, the following guidance applies:
- Migrating only selected ADF pipelines between environments
Azure Data Factory CI/CD is based on Azure Resource Manager (ARM) templates. ADF entities (pipelines, datasets, data flows, etc.) are stored as ARM resources and promoted between environments using:
- Automated deployment with Azure Pipelines, or
- Manual upload of ARM templates via the Data Factory UX.
To move only selected pipelines:
- Export an ARM template from the Dev factory that contains all entities.
- Edit the template (or maintain separate templates) so that only the required pipelines and their dependent datasets/linked services are included.
- Deploy that template to the Prod subscription using Azure Pipelines or the ADF UX.
- Moving/copying only specific SQL objects and related data
The context does not provide SQL‑specific migration details beyond general ARM/relocation guidance, so no additional prescriptive steps can be added here. - Migrating selected Logic Apps
Logic Apps are also ARM‑based resources. For moving Logic Apps between regions or subscriptions, the recommended approaches are:
- Recreate the Logic App in the target environment and copy the workflow definition and connections from the source Logic App using Code view in the designer.
- Or, export the Logic App as an Azure Resource Manager template and deploy it to the target subscription. The template includes the workflow and connections, with parameters for environment‑specific values.
When moving only selected Logic Apps:
- Export or script only those Logic App resources (and their connections) into ARM templates.
- Deploy those templates to the target subscription and re‑authorize connections as needed.
- Copying/synchronizing ADLS data efficiently
For data relocation, the guidance includes using Azure Data Factory pipelines as a data‑relocation automation tool:
- ADF pipelines can orchestrate and automate movement and transformation of data, including between storage accounts and regions.
- Use ADF copy activities to move/synchronize only the required folders/files between Dev and Prod ADLS accounts.
- Migrating Azure Key Vault secrets and managing environment-specific configurations
The context notes that some services (like Key Vault) require manual backup and restore as part of region or environment relocation. For Key Vault:
- Follow service‑specific relocation guidance (for example, “Move Key Vault to another region”) and apply the same pattern between subscriptions.
- Use backup/restore or scripted export/import of secrets, with separate vaults per environment and environment‑specific values.
- Handling bidirectional movement between Dev and Prod when needed
The recommended pattern is not to “move back” production resources into Dev, but to:
- Treat Dev as the source of truth for infrastructure and application definitions (ARM templates, pipelines, Logic Apps, etc.).
- Use the same deployment automation to deploy from Dev to Prod and, when necessary, to refresh Dev from a known template or backup.
For data, use ADF pipelines or other supported tools to copy subsets of data from Prod to Dev when required, following data‑relocation automation guidance.
- Setting up CI/CD or deployment automation
For ADF:
- Use Azure Pipelines integration with ADF for CI/CD. ADF uses ARM templates to store configuration of pipelines, datasets, and other entities, and these templates are deployed via Azure Pipelines.
For Logic Apps and other ARM‑based resources:
- Use ARM templates and Azure Pipelines (or other CI/CD tools) to deploy to multiple environments, parameterizing environment‑specific values (connection strings, endpoints, Key Vault references, etc.).
- Minimizing downtime and avoiding manual work
ARM‑based deployments and ADF CI/CD help minimize downtime by:
- Automating deployments and avoiding manual portal changes.
- Allowing staged deployments (Dev → Test → Prod) with repeatable templates.
For region or environment moves where Resource Mover is not supported, the guidance is to redeploy resources using ARM templates and service‑specific relocation guidance, which aligns with the recreate + deploy pattern.
- Best practices for Production environment setup
Relevant best practices from the context include:
- Separate environments for Dev, Test, and Prod for healthy ALM.
- Use solutions/ARM templates and DevOps automation to ship changes across environments.
- Use Azure landing zone and relocation guidance to plan resource moves, including assessment of RBAC and policies when moving subscriptions or resource groups.
- Whether resource move or recreate + deploy approach is better
For cross‑subscription and cross‑region scenarios, the guidance is:
- Use Azure Resource Mover where supported to move entire resources across regions with dependency analysis and orchestration.
- For services not supported by Resource Mover, or when only selected resources are needed, use manual redeployment via ARM templates and service‑specific relocation guidance.
Given the need to move only selected pipelines, Logic Apps, and data, and to support ongoing CI/CD, the recreate + deploy approach using ARM templates and ADF CI/CD is the recommended enterprise pattern.
References:
- Continuous integration and delivery in Azure Data Factory
- Move Azure resources across resource groups, subscriptions, or regions
- Select a relocation strategy for cloud workloads
- Move logic app resources to other Azure resource groups, regions, or subscriptions
- Scenario 2: Moving from a single production environment
- Transition an existing Azure environment to the Azure landing zone reference architecture
- Move an Azure Data Share account to another region using the Azure portal