gpt4 book ai didi

azure - 创建 Azure 资源及其依赖项的自动快照以便稍后部署

转载 作者:行者123 更新时间:2023-12-03 03:34:05 25 4
gpt4 key购买 nike

我现在正忙着实习。在这次实习中,我需要创建一个程序,自动创建需要部署到另一个环境的 Azure 资源(有时还有它们的依赖项)当前状态的“快照”。例如验收->生产。这些快照必须在稍后与客户端协调后部署到新环境。

一个解决方案可以由超过 100 个 Azure 资源组成,范围从 API 管理器到 LogicApps、CosmosDB 等。当客户接受或对一些资源(= 整个解决方案的一部分)表示“确定”时,会生成一个快照当客户端同意时,需要在特定状态下由该资源组成。这意味着我还必须创建该特定资源的依赖项的快照(LogicApp 可以依赖于 CosmosDB、Keyvault 等)。

我不能只引用验收环境中的资源,我还需要将该依赖关系带入生产环境,因为另一个开发人员可能会继续处理可能会破坏的所述依赖关系事情。

我有点不知道该朝哪个方向走。我对 ARM(模板)没有太多经验,而且我已经制作了多个原型(prototype)一个月了。

我首先尝试通过从 Azure Rest API 收集信息来生成自己的 ARM(和 Bicep)文件,但我很快发现这是不可行的,因为我无法从该 API 中提取所有信息来创建所述 ARM 文件.

然后,我考虑修改从 Azure 本身生成的 ARM 文件。虽然这是一个选项,但它包含很多我不需要或不想转移到另一个环境的信息。也很难确定生成的 ARM 文件的哪些部分必须删除、更新、复制或保留。然后我仍然需要递归获取依赖项的 ARM 模板,并以自动化方式遍历这些模板。

修改现有 ARM 模板是最佳途径吗?或者是否已经存在类似的产品可以帮助实现我的目标?

谢谢!!

最佳答案

在这种情况下,我不会采用修改导出的 ARM 模板的方法,但我会采用基础设施即代码的方法,即,我将创建尽可能细化的 ARM 模板,即,每个资源可能有一个模板。至少并将该基础设施代码存储在源存储库中,如果需要,可以对其进行版本控制以在不同的环境中使用它。推荐每个资源使用一个模板的原因是为了处理复杂环境中的依赖关系。我知道这对于首次实现来说可能看起来是一项更大的事件,但是一旦将模板集成到任何持续集成和持续部署 (CI/CD) 工具(例如 Azure DevOps)中,那么所有这些都可以在发布管道的帮助下实现自动化用于快速可靠的应用程序和基础设施更新。更多这方面的信息请引用thisthis Azure 文档。

关于azure - 创建 Azure 资源及其依赖项的自动快照以便稍后部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73960827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com