Azure Bicep与ARM模板的比较 如何用Bicep改善生活?已知限制常见问题解答

如何解决Azure Bicep与ARM模板的比较 如何用Bicep改善生活?已知限制常见问题解答

我读到一些有关Azure Bicep的信息,这是我的新感觉-

Azure资源管理器和ARM模板使用JSON语法编写,使用起来很麻烦。 Azure Bicep是一种特定于域的语言(DSL),它提供了对Azure资源管理器和ARM模板的透明抽象,从而为更简洁的代码语法提供了支持,并为模块化和代码重用提供了更好的支持。通过使用ARM模板JSON,Azure Bicep在创作Azure IaC方面提供了一些改进。

我想了解ARM模板和Azure Bicep之间的比较,例如两者的优缺点,局限性和用例。

解决方法

我认为Bicep的official GitHub repository具有您在问题中提到的几乎所有答案。

一些摘录:

如何用Bicep改善生活?

  • 与等效JSON相比语法更简单
  • [...]

已知限制

  • 不支持复制或条件属性
  • [...]

常见问题解答

这准备好用于生产了吗?如果还没有,什么时候准备好?还没有。我们希望迅速发布0.1版本并获得反馈,同时我们仍有机会进行重大更改。到今年年底,我们计划发布0.3版本,该版本与您可以使用ARM模板完成的版本相当。届时,我们将开始建议生产用途。

,

我认为考虑 BICEP 的最佳方式就是生成 ARM 模板的过程更简单且不易出错。最终,BICEP 工具只是一个转译器,即将 BICEP 文件转换为单个 ARM 模板,可以按照您习惯的方式进行部署。它不会添加额外的抽象层,因此您始终可以使用最新的资源管理器 API 版本和属性。

玩了一会儿,我很兴奋。在 BICEP 出现之前,我使用链接模板来实现模块化并尽可能重用代码,但是处理大型和冗长的 JSON 文件很麻烦。

借助 VSCode BICEP 扩展以及微软在 BICEP 的智能感知和 linting 方面所做的努力,再加上快速查看 ARM 输出的能力,我认为我们将享受到显着的生产力提升。

此外,BICEP decompiler 看起来是一个非常有用的迁移工具,可以将现有的 ARM 模板转换为 BICEP。

ARM 模板在过去一直是令人沮丧和痛苦的根源,但 BICEP 是巨大的改进。显然 Terraform 在这方面也做得很好,但除非您专门从事多云和多资源提供商,否则我相信 BICEP 提供了一种明智的方法。

,

BICEP 比 ARM 模板语法更容易上手。
BICEP 被设计为 Yaml/TS/Js 格式的组合,没有不必要的标点符号。 Bicep 是一种类似于 CSS 的标记语言,带有循环、if、三元运算和验证语法的 VS Code 智能感知插件。 Bicep 仍然需要用户理解 Azure 资源管理器“资源”(一个 Bicep 术语),但为 devops 猴子提供了比容易出错的 json jibberish {","} 更甜蜜的语法糖; Bicep 还增加了对不属于 Json 的评论的支持。 Bicep 与 -c(“检查完整性”)一起使用也更安全,因为所有内容(默认情况下)都限定在 ResourceGroup 级别。

BICEP 提供与 ARM 相同的功能,因为它是一个转译器,可生成 ARM 模板,但添加了更高级别的功能,例如循环、包含、符号引用。 ARM 是 bicep 的底层语言,它也被 terraform 或自我管理的 K8 自动缩放等工具使用。

一个缺点是 BICEP 会转译为 ARM,因此如果您的二头肌代码中有错误,您可能最终需要学习 ARM 才能了解发生了什么。

,

一个缺点是 BICEP 会转译为 ARM,因此如果您的二头肌代码中有错误,您可能最终需要学习 ARM 才能了解发生了什么。

我认为当你遇到 TF 问题时,这个缺点比调试更容易。

目前ARM模板和BICEP的关系是直截了当的,一对一的,非常直白。 不幸的是,使用 Azure 需要了解 Azure REST API 规范和 ARM 模板。但我喜欢 Bisp 因为我不想每次都和 ARM Tempate 搏斗。

二头肌让我的 Azure 生活变得快乐。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res