In SQL Server 2012, Microsoft introduced a new deployment model in SSIS called the project deployment model. This new model has many benefits in terms of managing SSIS project deployments, executions, and configurations. Every new version of SQL Server also upgrades the SSIS Catalog with new features. In this article, I will describe SSIS environment design patterns that we can use to set up SSIS Catalog.
Shared Nothing
This is the most commonly used design pattern to set up SSIS Deployments. As the name suggests, each deployment environment (Dev, Test, Prod) has a separate SQL Server and SSISDB setup to deploy SSIS projects and configure them using SSIS Environments.
Characteristics
- Name of the folders, projects, and environments are the same in all the deployments environments.
- Easy to manage deployments and setup.
- Easy to implement continuous deployment (CD) strategy using DevOps frameworks.
When to use
- You have a dedicated SQL Server for each deployment environment to run SSIS workloads.
- Workloads are critical and cannot share SQL Server capacity with different deployment environments.
- SSIS code is rapidly changing.
Shared Server
In this design pattern, the same SSIS project is deployed to different folders. Folder names reflect the target deployment environment (Dev, Test, Prod)
Characteristics
- Folder names are different for different target environments.
- The same projects and SSIS environments are deployed to different folders.
When to use
- You have a single SQL Server for multiple target deployment environments.
- Workloads are less critical and less resource-intensive.
- Code is rapidly changing.
Shared Project
In this design pattern, multiple target environments (Dev, Test) share the same SSIS project.
Characteristics
- Each target deployment environment (Dev, Test, Prod) has its own SSIS Environment.
- All the SSIS Environments have the same variables but different values based on the target deployment environment.
- All environments reference to the project.
- The environment is referred to in the scheduler or during the package execution time, depending on the target environment (Dev, Test, etc.).
When to use
- Workloads are less critical and less resource-intensive.
- SSIS code is not changing frequently.
We have seen different SSIS design patterns we can use to set up SSIS deployments depending on the availability of the resources.
See More
Pro tips
1. This article describes how to Open SSIS Packages from ispac file.
Kunal Rathi
With over 13 years of experience in data engineering and analytics, I've assisted countless clients in gaining valuable insights from their data. As a dedicated supporter of Data, Cloud and DevOps, I'm excited to connect with individuals who share my passion for this field. If my work resonates with you, we can talk and collaborate.