来自Firebase,使用身份验证,文件存储,数据库,云功能和托管设置整个无服务器应用程序非常简单,我们目前正在研究如何使用Azure实现类似的东西。在阅读了一些文档并研究示例后,我找到了独立设置这些组件的解决方案,但没有真正具体的如何组合管理它们。
我的主要问题是:
使用暂存进行持续部署:当我配置了具有函数、数据库、身份验证等的无服务器应用程序时,如何在 Azure 中执行正确的暂存?在 firebase 中,有一个定义我的后端的 json 文件,我可以将其部署到我想要的 firebase 项目中(例如 myapp-dev、myapp-test、myapp-prod)。Azure 中是否有类似的东西?对于Web应用程序,我找到了"插槽",但对于DB,存储,API网关等 - 如何在Azure中执行此操作?我想应该使用 Azure 管道,但是是否有任何关于如何处理无服务器应用程序的所有组件的适当文档或示例?
Config-as-Code:Azure 中的大多数文档/教程都是从在 Azure Portal UI 或 Visual Studio (Code) 中执行完整配置开始的。作为一个团队,我们希望在 git 存储库中完成所有配置,并从一开始就对其进行维护。我想 Azure 资源管理器 (ARM) 是为此准备的?如果是这样 - 使用 ARM 增加无服务器项目的推荐方法是什么?
旁注:我们使用 Node.js 作为后端的功能。所以没有.NET或Java。
不幸的是,你需要使用 ARM 模板自己构建它。您可以编写嵌套模板、模块和扩展、依赖项、配置等。
有时可以通过组合快速入门库中的各种解决方案和部署来开始:
- https://azure.microsoft.com/en-au/resources/templates/
- https://github.com/Azure/azure-quickstart-templates
对于更复杂的部署,我完全针对部署结构提取了 Sitecore ARM 模板。
- https://github.com/Sitecore/Sitecore-Azure-Quickstart-Templates
还可以在 Azure 门户中手动创建资源,并在部署之前单击"自动化选项"以获取所需的 JSON。
不过,开箱即用,Azure严重缺乏基于解决方案的部署。