Best practices for managing dev, test and prod environments

pmscorca 197 Reputation points


I need to prepare a dev, a test and a prod environments for Synapse Analytics/dedicated SQL pool.

In particular, is it better to create a different workspace for a different environment or is it possible to create an unique workspace and then creating a different dedicated SQL pool for a different environment?

Any suggests to me, please? Thanks

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
3,558 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Ramona Maxwell 0 Reputation points

    The documentation that will help you analyze whether each should have a dedicated environment is here. In general you should consider the following:

    1. Security -
      1. A proper RBAC strategy can be applied when you segregate production assets into their own workspace so that developers, consultants or other less privileged roles will not have access
      2. If your pre-prod environments such as test or QA contain any production data they should be equally protected (with the assumption that your production data is sensitive and cannot be leaked)
        1. Data in the development tier should be thoroughly scrubbed and non-impactful if exfiltrated
    2. Complexity -
      1. You will have additional operational overhead from running multiple workspaces that can be somewhat minimized by using GitOps deployment approaches to deployment
        1. You might be able to combine a couple of environments into a single workspace if their data security requirements are identical
    0 comments No comments

  2. KranthiPakala-MSFT 43,432 Reputation points Microsoft Employee

    @pmscorca Thanks for using Microsoft Q&A forum and posting your query.

    I completely agree with Ramona Maxwell suggestions. While it's possible to use a single workspace for multiple environments, it's generally recommended to use separate workspaces for each environment to keep resources organized and to avoid accidental changes to production/higher environment resources. This also allows you to manage access and permissions separately for each environment.

    In addition, you can use Azure DevOps or GitHub source control for CICD deployments to each environment. This allows you to automate the deployment process which can help to ensure consistency and compliance across all environments.

    Hope this info helps. If the above response from @Ramona Maxwell was helpful, please feel free to accept it as an answer as it could help others reading this thread.

    Thank you

    Please don’t forget to Accept Answer and Yes for "was this answer helpful" wherever the information provided helps you, this can be beneficial to other community members.

    0 comments No comments