Snowflake Environment Setup

Author: Ishani Aryan



Image source: www.snowflake.com

Agile methodology is followed by industries for developing pipelines and solutions in data warehousing.In agile there are several teams involved and since each team might operate in a different environment, we need to set up multiple environments to provide smooth operations .


Ideally we there should be three environments i.e. PROD, DEV and QA but we could make it concise if we choose to have two environments(DEV & PROD) instead and have QA as a custom role for testers to perform Quality assurance in each environment.


4 simple steps to set up your environment

1. Clone Production database

  • Design PROD database and then use snowflake zero copy cloning feature to create DEV

  • Have a non-PROD environment as transient to reduce time travel cost and eliminate fail safe.


Image source: www.medium.com

2. Environment Specific Warehouse

  • Create environment specific warehouses for each type of workload and grant warehouse to each corresponding role

  • Size each warehouse differently based on the type of workload


3. Environment Specific Role

  • Design custom roles for specific purposes and grant only privileges which are required to perform that task.

  • Follow RBAC privileges should be assigned to roles which in turn should be assigned to users.

  • All custom roles should be assigned to SYSADMIN as per best practice and custom roles that have access to account level objects should be assigned directly to ACCOUNTADMIN.

  • To achieve an isolated environment ,the PROD role should not have access to DEV and vice versa.



4. Resource Monitor

  • For each environment setup separate resource monitor for each warehouse to monitor cost

  • And one resource monitor at account level to control credit consumption for all warehouse in account including cloud services

Conclusion:

It’s really easy to set up multiple environments in Snowflake as it provides a convenient way to monitor or separate costs.


Reference:

https://medium.com/equinox-media-tech/managing-multiple-environments-in-snowflake-1db72be04525




146 views0 comments

Recent Posts

See All