色破飞机 发表于 2017-6-30 06:52:30

Azure ARM架构深度解析

  从产品组一直走到Azure的落地,这一路也见证Azure从产品线到落地这一路的风风光光。
  也见证了Azure 从Manage Portal 到新Portal这一路的起起落落,不知不觉中在Satya的领导下,Azure后发制人跑到行业的前列,前途一片光明!
  同样的也领悟到做Azure落地者所不能懂得Azure设计者,设计灵魂的所在,
  同样的也领悟到做Azure产品者所不能懂得Azure落地者,实施灵魂的所在,
  就像白天不懂夜的黑一样,因为产品者---->落地者,肯定是不能互通的,这也是作为一个商业公司Microsoft必须做的功课哈,大家理解就好了!
  接下来我们就探讨下Azure Resource Manager(ARM) 和 Azure Service Management(ASM)的差别,以及ARM的架构。
  什么是资源,资源就可以理解为Azure中的一些对象,例如:VM, Vnet, CS, Batch, WebApp, LogicApp,……

[*]资源在Azure中探讨
  ASM:
  1:混合对象的管理方式,并且都同属于一个管理实例中。
  2:必须能连接到一个经典VNet的基础设施。
  ARM:
  1:单个对象管理方式,可以单独管理。
  2:必须能连接到一个RM VNet的基础设施。
  3:所有新部署强制采用Resource Groups模式。
  那么问题来了,也许小伙伴们会问什么是Resource Groups ?

[*]Resource Groups
  1:容器性,具有高耦合性可以存放多个相同,相似,或者不通的类型的资源
  2:唯一性,每个资源必须,必须存在一个,仅仅一个Resource Group中。
  3:跨区域性,一个Resource Group中可以包含不同区域的资源。
  4:零嵌套性,Resource Group不能包含Resource Group。
  5:高权限性,仅仅只能有Subscription Owner才可以创建Resource Group。
  为什么要采用Resource Group的方式管理,有的人说抄袭AWS,我保持沉默,因为Resource
  Group模式有自己独到的优势,再者,重要的是将来的Azure Stack 和Azure统一埋下伏笔。

[*] ARM在Azure上的架构如下图:
  

[*]角色控制策略
  也许大家还不能明白角色控制是什么?角色控制也是在新Portal上对资源细化,最小权限控制的体现。看下图一个新Potral一张图来说明权限控制的问题。

  上图是基于Resource(类型VM)截的图,下面我们介绍下三种典型的角色意义和权限。
  所有者:可以执行所有资源及其子资源管理操作包括访问管理和授权访问。
  参与者:可以执行所有资源管理操作包括创建和删除资源。一个参与者不能授权访问其它的。
  读者:拥有资源及其子资源的只读访问。
  为什么说这三个类型典型呢,因为从资源层控制,无论是从Resource Group还是小到资源对象,例如VM都包含这三个角色,又称为基本Role。
  Note:由于Role的细化,所以Rest API也跟着相应的变化,开发者需要注意!

[*]资源锁
  为什么有资源锁这么个概念呢?原因是这样的在ARM新的模式下所有的资源都是采用资源组容器的形式管理。
  如果没有锁,例如资源组Resource Group1,没有加锁,那么,我一键就能删除了,不管Resource Group1 内的VM运行状态也好,什么状态也好全部都会删除。
   资源锁:
  1:资源锁防止事故发生。
  2:资源锁允许管理员创建的策略防止写操作或防止意外删除。
  如下图:

  锁名为12:策略为只读,那么有了这一个锁,这个VM需要更改任何东西,系统都会阻止,会提醒先删除锁在操作!
  Note:那么我有时候误删了资源组怎么办?在删除资源组的时候有两个确认过程
  1:输入组名点击确认
  2:是否保留资源,可以打勾,如果打勾之后,是可以恢复(可能还没有GA)
  所以,一定要上锁,数据的重要性!
  讲了这么多ARM和ASM区别真的很大么?
  一个典型的例子:
  ASM和ARM 中IaaS VM的架构图:
  
  
  在ARM中是不是没有Cloud Service影子了,哈哈,容器的作用么,有GP了,另一方面产品更细化了,看什么场景了,同样完全可以把图一ASM架构里的所有都放到一个GP里,
  但是有人说微软丢弃了Cloud Service,你觉得会么?答案肯定是No.
  更多的东西的挖掘还得由大家来完成!
  转载请说明出处,谢谢!
页: [1]
查看完整版本: Azure ARM架构深度解析