【问题标题】:Azure Synapse Environment setup considerationsAzure Synapse 环境设置注意事项
【发布时间】:2022-01-10 23:24:44
【问题描述】:

如果一个人在不同的订阅中有多个环境(dev/qa/prod),Azure DevOPs 管道可能会有一些限制。我认为目前 Azure DevOps 不能跨越多个订阅。

考虑到这一点,为同一订阅但不同资源组中的每个项目设置多个突触工作区(每个环境一个 - dev/qa/prod)是否是一个好的设计?

【问题讨论】:

  • 是的!这些天不推荐使用多个订阅来满足这种要求。相同的订阅使生活更轻松。鉴于 RBAC、标签等,使用另一个订阅只是一种痛苦。这就是我的经验。
  • 感谢@Skin 分享您的想法
  • Synapse Azure DevOps CICD 可以支持多个订阅,因此最好尽可能将它们保留在不同的订阅中。这样您就可以更有效地管理成本。
  • @Learn2Code 我们可以跨订阅使用 Azure DevOps Git Repo 吗?
  • 是的,您只需将开发工作区与 Git 连接起来,对于 qa、uat、prod 等,您将使用发布变量组来参数化订阅、资源组、名称等。

标签: azure azure-synapse


【解决方案1】:

做事的方法总是不止一种,但我不认为一个订阅总是正确的答案。它带来了一些风险,有人可能会意外地“部署到 prod”,尽管这可能在任何情况下发生,但只有一个订阅会更有可能发生这种情况。环境当然应该用权限、资源组、资源锁、明确定义的带有网关的发布管道等进行适当的隔离,这将有助于降低这种风险。

多个订阅,或至少一个包含单个产品环境的专用产品订阅和一个包含开发、测试、QA(和其他环境)的非产品订阅是另一种选择。这应该会降低单次订阅的风险,但会带来额外的复杂性。

那么考虑它的一种方法,最适合您的组织的方法是考虑一个网格或矩阵,其中包含风险、DevOps 成熟度和复杂性与您拥有的 Azure 订阅数量的关系。提出一系列问题以帮助确定您在此图表上的位置。一个简单的例子和​​一些样题:

关于“轻松生活”,DevOps 工程师和架构师不会这样想,你也不应该这样想。

【讨论】:

  • 嘿@UtkarshPal-MT,你对我的帖子有什么看法?
  • 嗨@wBob,感谢您分享您的想法。虽然这种方法是一种非常经典的方法,但我个人也喜欢它。同时,我试图考虑在使用 Azure DevOps 跨订阅实施 CI-CD 时可能面临的任何限制。我想到的一件事是 Azure Git Repos 不跨越订阅。假设我们必须为 dev、uat、prod 使用具有 ADF、Databricks、Synapse 等的多个订阅,那么这些代码将如何从一个提升环境对其他人?
  • 如果您不认为这是对您问题的回答,请考虑投赞成票。与您的 DevOps 工程师讨论环境之间的升级问题。
  • 考虑至少为非生产环境订阅一份开发/测试订阅,以节省成本。 azure.microsoft.com/en-us/pricing/dev-test/#overview
【解决方案2】:

您应该拥有一个订阅,并且在该订阅中您可以拥有多个资源组,例如 Dev/Prod/QA。在相应的资源组下为不同的环境部署和管理您的资源,以获得轻松无忧的体验。

查看下图以供参考。

为了更好的理解,请参考Microsoft official document

【讨论】:

  • 嗨@UtkarshPal-MT,这是我个人的倾向。感谢您分享您的想法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 2021-01-25
相关资源
最近更新 更多