The ultimate Snowflake migration checklist

Migration to a new data platform can be a complex and time-consuming process. To ensure a successful migration, it’s important to have a well-defined plan and a checklist in place. In this blog, I will outline my own Snowflake migration checklist created based on my experience helping customers migrating their workloads to Snowflake, a cloud-based data warehousing and analytics platform that offers scalability, reliability, security and performance.

Snowflake Migration Checklist

I have broken it down to 9 phases to help plan and execute an end to end migration of the existing traditional data platform to Snowflake. These phases will help align the migration but doesn’t necessarily mean that all phases should be executed sequentially. Some of the phases, like “train users”, can be executed in parallel with other phases.

In the following section I will elaborate on these phases and what tasks you might take on for each phase. Let’s get started.

1. Define migration goals

Before starting the migration process, it is important to define the goals and objectives of the migration. This includes identifying the key drivers for the migration, such as cost reduction, improved performance, scalability or enhanced security. These migration goals can be further subdivided into business and technical goals. Business goals typically focus on achieving business outcomes and improving the bottom line, while technical goals focus on improving the technical capabilities of the platform being migrated. Evaluate what you are trying to accomplish, sit with your key stakeholders to jot these down. These goals should be specific, measurable, achievable, relevant, time-bound (SMART) and should be communicated to all stakeholders directly or indirectly impacted by the migration. Some general migration goals have been outlined as a reference to get you started:

Business Goals

1. Reduce CostsReduce costs associated with maintaining legacy systems, such as hardware, licensing and maintenance costs.TCO analysis report.
2.Increase RevenueEnable new business models, discover and open up new markets or improve sales and marketing effectiveness.Sales Data Analysis, Customer Acquisition and Retention, Return on Investment (ROI), etc.
3.Improved AgilityImprove organizational agility by reducing time-to-market, increasing speed of delivery and enabling faster decision-making.Resource Utilization Report, Agile Development Metrics, Time-to-Market analysis, etc.

Technical Goals

1. Improved ScalabilityImprove scalability by enabling the system to handle increasing workloads or data sources, traffic or data volumes.Performance Metrics, System Availability, Workload Management report, etc.
2.Enhanced Security Improve security by implementing modern security practices, such as encryption, access controls and monitoring capabilities.Security benchmark reports, security assessments, access management metrics, etc.
3.Improved Data ManagementImprove data management capabilities by implementing modern data warehousing, analytics and reporting technologies.Data Quality, Data Integration, Data Governance, etc.

2. Assess your current environment

As a next step you will need to conduct a thorough assessment of your existing data environment to identify the scope and complexity of the migration. This includes understanding your data sources, data types, data volumes and any dependencies that may exist between data sources. This may involve but not be limited to the following items to consider:

By going through these listed pointers you can gain a comprehensive understanding of your current environment and identify any areas that need improvement or optimization. This information can then be used to plan for capacity planning and designing a migration strategy for the new data platform.

3. Plan for Snowflake implementation

The artifacts of discovery and assessment will now contribute to developing a detailed plan for implementing Snowflake. This includes determining the best architecture for your data, configuring the data warehouse and planning for data ingestion and data processing. Use the below reference architecture to design a use case for your data platform. 

At this point, having a requirement guide would help align the implementation goals. Start with some of the below and adjust as necessary:

The requirements will help answer initial deployment questions for Snowflake like, which region to choose, what edition to go with, etc. In addition, this will also help you gain a better understanding for the requirements around security posture, developer ergonomics and ongoing support. After this phase, you should either have a Snowflake platform ready for migration or a templated code base that can deploy a Snowflake environment reflecting your requirements in a source controlled, repeatable and template-driven manner. If you are looking to build the Snowflake environment using terraform than leverage Snowflake Provider. One of my colleague at work wrote a best practice document mentioning what base configuration of Snowflake for customers’ deployments should look like and then I took it and built template-driven code base using terraform to deploy the same. If you’re looking to fast track your base implementation of Snowflake, talk to me and I can help accelerate your migration goals.

4. Define migration strategy

Based on the assessment of your current environment and Snowflake implementation plan, you would next need to define a migration strategy. This includes identifying the data to be migrated, selecting the migration tools and processes and developing a timeline for the migration. There are several migration strategies for Snowflake, and the most suitable one depends on the organisation’s current data environment, business needs and resources. Here are some of the most common migration strategies for Snowflake:

5. Plan for Snowflake Migration

Once you have decided on a migration strategy, the next step is to plan the migration of data, ETL workflows, cutover of applications, etc. Your plan should reflect the following at the very least:

6. Train users

Develop a training plan for users to ensure they understand how to use Snowflake effectively. This includes developing training materials, conducting training sessions and providing ongoing support. Checkout Snowflake Education for details on the programs available.

7. Pilot

Now that you have outlined a strategy and proper planning, it’s time to put the plan to the test. I understand that migrating to Snowflake is a significant undertaking, and it’s important to execute the plans carefully to minimize disruption to your organisations operations. Which is why the next logical step is a pilot. The pilot phase of the migration involves testing Snowflake in a controlled environment to ensure that it meets your requirements. Here are some steps you might take during the pilot phase:

8. Go Live

After a successful pilot phase, you can move forward with the actual migration to Snowflake. Here are some steps to consider during the migration:

9. Monitor and Optimize

Finally, once the migration is complete, it’s important to monitor the performance of Snowflake and optimize the system for best performance. This is an ongoing process. This includes monitoring query performance and usage, tuning the data warehouse, optimizing data processing and costs, etc.


Migrating to Snowflake can be a complex process, but with a well-planned migration checklist, you can ensure a smoother transition. By defining the scope of the migration, evaluating the source system, planning the data migration, planning for integrations and processing, preparing for ongoing operations, testing thoroughly and training your users, you can minimise disruption and maximise the benefits of the new platform.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s