你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Synapse 实现成功方法:评估解决方案开发环境设计

注意

本文是“按设计成功实施 Azure Synapse”系列文章的一部分。 有关系列概述,请参阅设计成功实现 Azure Synapse

解决方案开发及其执行环境是项目成功的关键。 无论你选择哪种项目方法(如瀑布、敏捷或 Scrum),你都应该设置多个环境来支持开发、测试和生产。 你还应该定义明确的流程来促进环境之间的变化。

为生产和预生产使用设置现代数据仓库环境可能很复杂。 请记住,关键设计决策之一是自动化。 自动化有助于提高工作效率,同时最大程度地降低错误风险。 此外,你的环境应支持未来的敏捷开发,包括添加新的工作负载,如数据科学或实时。 在设计审查期间,生成一个解决方案开发环境设计,该设计将支持你的解决方案,不仅适用于当前项目,而且适用于你的解决方案的持续支持和开发。

解决方案开发环境设计

环境设计应包括承载生产解决方案的生产环境和至少一个非生产环境。 大多数环境包含两个非生产环境:一个用于开发,另一个用于测试、质量保证 (QA) 和用户验收测试 (UAT)。 通常,环境托管在单独的 Azure 订阅中。 考虑创建生产订阅和非生产订阅。 这种分离将在生产和非生产之间提供明确的安全边界和界限。

理想情况下,应建立三个环境。

  • 开发:用于构建数据和分析解决方案的环境。 确定是否为开发人员提供沙盒。 沙盒可以让开发人员单独进行和测试他们的更改,而共享的开发环境将托管来自整个开发团队的集成更改。
  • 测试/QA/UAT:用于在部署发布到生产之前测试部署的类生产环境。
  • 生产:最终生产环境。

Synapse 工作区

对于解决方案中的每个 Synapse 工作区,环境应包括一个生产工作区和至少一个用于开发和测试/QA/UAT 的非生产工作区。 跨环境的所有池和项目使用同一个名称。 一致的命名将简化工作区到其他环境的提升。

将工作区提升到另一个工作区的过程包括两个步骤:

  1. 使用 Azure 资源管理器模板(ARM 模板)创建或更新工作区资源。
  2. 然后,在 Azure DevOps 或 GitHub 中使用 Azure Synapse 持续集成和交付 (CI/CD) 工具来迁移 SQL 脚本、笔记本、Spark 作业定义、管道、数据集和数据流等项目。

Azure DevOps 或 GitHub

确保正确设置与 Azure DevOps 或 GitHub 的集成。 设计可重复的过程,用于跨开发、测试/QA/UAT 和生产环境发布更改。 

重要

建议始终将敏感配置数据安全地存储在 Azure 密钥保管库中。 使用 Azure 密钥保管库数据(如数据库连接字符串)维护一个集中的安全位置。 这样,适当的服务就可以从每个环境中访问配置数据。

后续步骤

Azure Synapse 设计成功系列的下一篇文章中,了解如何评估将实施 Azure Synapse 解决方案的熟练资源团队。