Azure Resouce Manager 概述
ARM原来老版叫Azure service manager(ASM),Azure service manager 最初是用来管理和部署Azure的资源的。老的ASM没有模块化的工具。ASM为了向前兼容,在门户网站是还有,但是是在classic模式。
ARM是ASM的新版本,用更高级的方式去部署管理Azure的资源。
也就是说,原来的管理方式,组件不能单独存在,比如网卡只能存在与虚机里面。然而ARM让资源都独立化,可用专门管理一张网卡。
Azure Service Manager & XML
- 旧版的ASM用XML(extensible markup language)在客户端和ASM服务之间进行数据交换。
- XML是一种数据格式,用来进行web浏览器和服务器之间的数据交换
- XML,verbose比较复杂,而且不擅长交换高度结构化的数据
- XML格式用于在web浏览器和服务器之间交换数据,都用来20年了,虽然XML能用,但是描述还是太冗余,对结构化数据支持不好。
Azure Resource Manager & JSON
- 新版的ARM用JSON(JavaScript Object Notation)来进行客户端和ARM服务之间交换数据。
- JSON是一种数据格式,用来进行web浏览器和服务器之间的数据交换,less verbose,复杂,但是可用处理高度结构化的数据。
XML & JSON
来举个例子~
啥是ARM Template模板
- ARM模板是一个部署的文件,模板会发给ARM进行处理,模板是用JSON格式写的,以.json为扩展名。
- 模板由6个元素组成:¥schema,contentVersion, parameters, variables, resource, outputs。这些元素是用来描述模板内容的,parameter可以单独用一个文档存,以.parameters.json为扩展名,用单独的文件来描述参数,可以方便改参。
- ARM 模板的优点:
部署十分方便,就用一个命令行就可以部署,但是如果一次性部署好多东西,比如VM, VNet,IP 地址,脚步就会相对复杂些。另外一个优点是,可以去GitHub或Visual Studio上面去荡模板。