Choosing Between Azure Virtual Machine (Azure VM) and Azure Data Factory (ADF) for Running SSIS Packages

Many customers ask whether they should run their SSIS packages on an Azure Virtual Machine (VM) or inside Azure Data Factory (ADF) using the Azure-SSIS Integration Runtime (IR). Both options are supported by ZappySys, but the right choice depends on your workload, cost model, and operational requirements.


When to Use an Azure VM

Running SSIS on an Azure VM (or on-prem VM) is closest to your on-premises experience. You install SQL Server with SSIS, Visual Studio/SSDT, and any third-party components (including ZappySys) directly on the VM. This option is best when:

  • You need full control over the operating system (custom patches, special software, RDP access).
  • You have heavy use of third-party tasks or connectors that may require custom installation or configuration.
  • You have continuous or frequent workloads where the VM will be running most of the time, making an always-on cost model acceptable.
  • You require strict security or compliance where direct server access is mandated.

When to Use Azure Data Factory (ADF) with Azure-SSIS IR

Azure-SSIS IR is a managed SSIS runtime inside Azure Data Factory. Microsoft provisions and maintains the servers; you simply deploy your packages and run them. This option is ideal when:

  • You want a managed service with lower operational overhead—no OS patching or manual scaling.
  • You want to start and stop the Integration Runtime to save cost during idle periods.
  • You’re looking to “lift and shift” existing SSIS packages to Azure with minimal changes.
  • You want elastic scalability without manually provisioning additional VMs.

ZappySys components work seamlessly in Azure-SSIS IR using a custom setup script. During IR creation, you supply the ZappySys installer MSI and a script stored in Azure Blob Storage. This script installs the connectors and registers your license automatically. Keep in mind that:

  • You don’t get RDP access to IR nodes; all custom components must be installed via the setup script.
  • Changes to custom components require an IR restart or redeployment.
  • Your SSIS projects must target a supported version (e.g., SQL Server 2017) to run in ADF IR.

Azure VM vs Azure SSIS (ADF) – which to pick, why, and how ZappySys fits

When clients ask “Should we run SSIS on a VM (i.e. Azure VM or on-prem VM) vs use Azure-SSIS Integration Runtime via ADF?”, the answer depends on trade-offs: cost, control, scalability, maintenance, and feature dependencies (including third-party tasks/connectors like ZappySys). Below are key comparisons, decision criteria, and how ZappySys behaves in both setups.

Comparison Dimension SSIS on Azure VM (or on-prem VM) SSIS via Azure-SSIS IR (ADF)
Infrastructure control & customizability You have full control: OS version; full RDP access; you can install / configure any components; patching, VM size, storage are under your control. This allows installing ZappySys components, connectors, tasks, etc exactly how you need. The IR is managed: Microsoft provisions Windows Server VMs behind the scenes; you can supply custom installer scripts (via blob / SAS) during setup; but you do not get RDP access into the nodes. Some customizations possible via custom setup (uploading installer for ZappySys etc), but limited. zappysys.com+1
Maintenance & operations overhead Higher: you need to manage VM patching, OS updates, scaling, availability, backups of OS/disks, SQL / SSIS runtime, licensing (if applicable). Lower: Microsoft handles OS, runtime patching; you manage only the SSISDB, package deployment and triggers. ADF SSIS IR supports start/stop to reduce idle cost. zappysys.com+1
Scalability and elasticity Limited by VM size and capacity; scaling out means provisioning more VMs or bigger VMs, more manual or scripted work. More flexible: Azure-SSIS IR allows you to choose number of nodes, node size; you can stop and start the IR; ADF supports scale by specifying degree of parallelism, etc. Microsoft Learn+2Cloudwards+2
Cost model You pay for VM plus storage, licensing, always-on (if VM is kept running), even idle time. If you oversize, wasted spend. Pay for IR compute only when running; ability to stop IR when not needed; also pay for storage, SSISDB etc. Fixed portion for IR node size and node count; usage-based for pipelines, etc. zappysys.com+1
Network / security / compliance More direct control: you can deploy VM within a VNet, set up firewall, custom OS security policy, patch management. Possible to meet strict compliance. Azure-SSIS IR can be deployed in a VNet, have static IPs, integrate with existing network; but limited custom OS access; also need to align SSISDB region, and blob storage etc. zappysys.com+1
Support for third-party SSIS components (like ZappySys) Since you own the VM, you can install any third-party components exactly; run any version; full flexibility. ZappySys components can be installed via custom setup script supplied during Azure-SSIS IR creation (via blob + SAS URL). This works well, but there are limitations: you can only run the setup script during IR creation or restart; no RDP; no dynamic install while IR is running unless restarting. zappysys.com
Learning curve / team skills Might require deeper sysadmin / infrastructure skill; managing Windows servers, updates; having team to maintain uptime. More “managed”: less infrastructure work; team deals more with SSIS packages, pipelines, parameters, etc. Less OS/infra complexity.
Use cases best suited Very customized ETL pipelines, need full control or isolation, many components, or where existing architecture heavily tied to VM. Also when packages need very specific OS or environment configurations. When moving to cloud, want more managed solutions, want elasticity, want to reduce operational overhead; want to “lift & shift” existing SSIS packages with minimal changes (ZappySys helps here).

Quick Decision Guide

Factor Azure VM Azure-SSIS IR (ADF)
OS control & RDP Full Limited (no RDP)
Custom components Install directly Install via custom setup script
Maintenance You manage Microsoft manages
Cost model Pay for always-on VM Pay for IR nodes only when running
Scalability Scale VM manually Elastic; configure node count/size
Best for Highly customized, always-on workloads Managed, on-demand, cloud-native workloads

How ZappySys Fits Both Options

  • On Azure VM: Install the ZappySys SSIS PowerPack or ODBC PowerPack MSI directly on the VM. Manage licensing and updates as you would on-premises.
  • On Azure-SSIS IR (ADF): Provide the ZappySys installer + a custom setup script at IR creation time. ZappySys supports automated license registration in this script. This lets you run the same packages you developed locally in a fully managed Azure environment.

Conclusion

Both Azure VM and Azure Data Factory’s Azure-SSIS IR are viable ways to run SSIS packages in the cloud.

  • Choose Azure VM if you need full OS-level control, RDP access, or heavily customized/always-on workloads.
  • Choose Azure-SSIS IR if you prefer a managed, on-demand, and scalable environment with lower operational overhead.

ZappySys supports both approaches. On VMs you install the components directly; on ADF you supply the installer and license via a custom setup script during IR creation. This flexibility lets you decide based on cost, compliance, and operational needs without sacrificing the power of ZappySys connectors and tasks.


Reference Links