设为首页 收藏本站
查看: 1131|回复: 0

[经验分享] Microsoft Azure中国版的ARM Template和API版本

[复制链接]

尚未签到

发表于 2017-6-30 18:15:35 | 显示全部楼层 |阅读模式
  对于一个公有云产品来说,同时运行和维护两套架构(ASM和ARM),绝对算得上是前无古人后无来者的伟大壮举了。在当初没有彻底弄清楚市场需求的情况下,稀里糊涂的推出了以Cloud Service为核心的ASM架构,准备高举高打,直接跳过IaaS去玩PaaS。结果...还是不得不向IaaS低头,在Cloud Service中笨拙的添加VM Role...
  
的确,ARM架构比ASM架构更先进,确切的说,有了ARM架构,Microsoft Azure才算从奇葩走向了主流。在Microsoft国际版中,ARM架构在快速的演进。而Azure中国版的更新进度却慢慢吞吞。这给用户特别是开发者带来很大的麻烦。

SDK
  所有Azure的SDK,包括.net,java,nodejs等,都是基于Azure RESTful API的。如果RESTful API的版本落后,或者某些API不存在,任何SDK都没法工作。以Java SDK为例,其master版本已经是1.0了,
  
DSC0000.png
  
因为这个本版本中用到了版本号为:2016-04-30-preview的API,而这个版本的API在Azure中国版还没有发布。如果想用Java SDK,并且还想用ARM模式管理Azure资源,办法只有一个:回退到0.9版本
  
总结下来就是:对于所有的Azure SDK来说,如果最新版无法在Azure中国版上运行,那么就只能降级。具体降级几个版本,请查阅官方文档或者源代码。原则只有一个:SDK中不可以调用在Azure中国版上不存在的API版本

ARM Template
  所谓的ARM Template,可以理解为调用REST API的request body,因此,在ARM Template中,是会包含API版本信息的,例如:
  
DSC0001.png
  
显然,这个template在Azure中国版上也是没法使用的。但更大的问题是:Azure官方的ARM Template,只要是持续更新的,不管是文档里面的,GitHub上的还是blog上发布的,都是与Azure国际版保持一致。因此,目前情况是:大多数ARM Template已经没法直接在Azure中国版上使用了!
  
对于compute而言,除了上述提到的API版本号问题,还有一个就是:Managed Disk,Azure国际版已经全面过度到Managed Disk,而Azure中国版还是传统的storage磁盘。
  
例如:Azure国际版上VM的Disk定义是这样的:
  

          "osDisk": {  "createOption": "FromImage"
  },
  "dataDisks": [
  {
  "diskSizeGB": "1023",
  "lun": 0,
  "createOption": "Empty"
  }
  ]
  

  而Azure中国版VM的Disk定义却是这样的:
  

            "osDisk": {  "osType": "Linux",
  "name": "cg-dev-t001",
  "createOption": "FromImage",
  "vhd": {
  "uri": "https://rgt01disks932.blob.core.chinacloudapi.cn/vhds/cg-dev-t00120170310132202.vhd"
  },
  "caching": "ReadWrite"
  },
  "dataDisks": []
  

  由此可见,将Azure国际版的ARM Template翻译成for Azure China的版本,工作量还是挺大的。
  
Microsoft造就了全宇宙中体积最大,功能最强的IDE,但不知道为什么一直没有给ARM Template做一个可视化编辑器,这方面,倒是AWS的Cloud Formation走在了前面。
  
DSC0002.png
  
Azure倒是有一个第三方的ARM Template工具,但是看起来最近都没有怎么更新了。其使用体验也的确不咋滴。
  
DSC0003.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389733-1-1.html 上篇帖子: DW(四):Azure域控服务器配置 下篇帖子: 如何获取Azure Storage Blob的MD5值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表