本文提供了有关 Bicep 的常见问题解答,以及如何使用它将资源部署到 Azure。
意图
为什么要创建一种新语言而不是使用现有语言?
你可以将 Bicep 视为现有 Azure 资源管理器模板(ARM 模板)语言的修订版本,而不是一种新语言。 语法已更改,但核心功能和运行时保持不变。
开发 Bicep 之前,我们考虑过使用现有的编程语言。 我们确信,目标受众会发现学习 Bicep 比开始使用另一种语言更容易。
为什么不将精力集中在 Terraform 或其他第三方基础结构即代码产品/服务上?
不同的用户喜欢使用不同的配置语言和工具。 我们想要确保所有这些工具在 Azure 上都能提供很棒的体验。 Bicep 是此工作的一部分。
如果你喜欢使用 Terraform,则无需进行切换。 Microsoft 致力于确保 Azure 上的 Terraform 实现最佳效果。
对于选择了 ARM 模板的客户,我们相信 Bicep 能够改进创作体验。 Bicep 还可帮助尚未采用基础结构即代码的客户进行过渡。
可用性
这是否已准备好用于生产?
是。 从 0.3 版本开始,Microsoft 支持计划将为 Bicep 提供支持。 Bicep 具有与 ARM 模板相当的功能。 目前没有计划的中断性变更,但我们以后可能需要创建中断性变更。
Bicep 是否仅适用于 Azure?
目前,我们未打算将 Bicep 扩展到 Azure 之外。 我们希望为 Azure 提供全面支持并优化部署体验。
要满足该目标,需要使用 Azure 外部的某些 API。 我们希望为这些方案提供扩展点。
能否使用 Bicep 部署到 Azure Stack Hub?
是的,可以将 Bicep 用于 Azure Stack Hub 部署,但请注意,Bicep 可能会显示 Azure Stack Hub 中尚不可用的类型。 可以在 Azure Stack Hub 快速入门模板 GitHub 存储库中查看一组示例。
ARM 模板
现有 ARM 模板会发生什么情况?
它们继续像往常一样正常运行。 你不需要进行任何更改。 我们会继续支持基础 ARM 模板 JSON 语言。 Bicep 文件将编译为 JSON,JSON 将发送到 Azure 进行部署。
准备就绪后,你可以将 JSON 文件反向编译为 Bicep。