zoukankan      html  css  js  c++  java
  • Microsoft Azure中国版的ARM Template和API版本

    对于一个公有云产品来说,同时运行和维护两套架构(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了,

    因为这个本版本中用到了版本号为: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版本信息的,例如:

    显然,这个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走在了前面。

    Azure倒是有一个第三方的ARM Template工具,但是看起来最近都没有怎么更新了。其使用体验也的确不咋滴。

  • 相关阅读:
    git忽略已提交过的文件方法
    去除git版本控制
    写博客的初衷
    Substring with Concatenation of All Words
    Course Schedule
    Reverse Words in a String--not finished yet
    Repeated DNA Sequences
    Maximum Product of Word
    Odd Even Linked List
    Reorder List
  • 原文地址:https://www.cnblogs.com/hunterxue/p/6534820.html
Copyright © 2011-2022 走看看