Azure云计算系列之 Azure Resource Manager (资源管理器) 详解

什么是Azure Resource Manager?

首先我们看一下官网的介绍:

Azure Resource Manager(资源管理器) 是 Azure 的部署和管理服务。 它提供一个管理层用于在 Azure 订阅中创建、更新和删除资源。 部署后,可以使用访问控制、锁和标记等管理功能来保护和组织资源。

其实就是一个计算资源的管家, 我们可以CRUD各种计算资源, 例如数据源(SQL & NoSQL), web程序, 虚拟机, 其他各种中间件, 但是Azure为我们提供了多样的访问方式: 比如命令行(Azure CLI, PowerShell), 比如REST API, 还有Azure portal等等

结果一致的管理层

Azure Resource Manager 从某种意义上讲, 也是一个中间件, 扮演着解耦的功能, 将底层的操作都给屏蔽掉, 封装成统一的用户接口, 所以相同的指令, 通过不同的客户端, 不同的协议, 传达到Azure Resource Manager, 他们返回的结果总是相同的, 这也是为什么官网上强调所有的客户端都会返回一致的结果和功能.

来自官网的原文

当用户从任意 Azure 工具、API 或 SDK 发送请求时,资源管理器将会接收该请求。 它会对该请求进行身份验证和授权。 资源管理器将请求发送到 Azure 服务,后者将执行请求的操作。 由于所有请求是通过同一个 API 处理的,因此在所有不同的工具中会看到一致的结果和功能。

下图演示了 Azure 资源管理器在处理 Azure 请求时发挥的作用。在这里插入图片描述

Resource Manager 分为四个管理级别:

Azure 提供四个级别的范围:

  • 管理组
  • 订阅
  • 资源组
  • 资源
    在这里插入图片描述

资源组

定义资源组时,需要考虑以下几个重要因素:

  • 首先创建资源组时有点像HDFSname node, 需要指定地址保存从节点的元数据, 也就是资源配置信息.
  • 组中的所有资源应该共享相同的生命周期。 将这些资源一同部署、更新和删除。 如果某个资源(例如数据库服务器)需要采用不同的部署周期,则它应在另一个资源组中, 比如数据源如redis和mysql 就应该和 Web app就应该在不同的资源组部署.
  • 每个资源只能在一个资源组中。
  • 随时可以在资源组添加或删除资源。
  • 可以将资源从一个资源组移到另一个组。
  • 资源组可以包含位于不同区域的资源。
  • 资源组可用于划分对管理操作的访问控制。
  • 资源可与其他资源组中的资源进行交互。 如果两个资源相关,但不共享相同的生命周期,那么这种交互很常见(例如,Web 应用连接到数据库)。

使用 Resource Manager 的优势

使用资源管理器可以:

  • 通过声明性模板而非脚本来管理基础结构。
  • 的形式部署、管理和监视解决方案的所有资源,而不是单独处理这些资源。
  • 在整个开发生命周期内重复部署解决方案,并确保以一致的状态部署资源。
  • 定义各资源之间的依赖关系,使其按正确的顺序进行部署。
  • 将访问控制应用到资源组中的所有服务,因为基于角色的访问控制 (RBAC) 已在本机集成到管理平台。
  • 将标记应用到资源,以逻辑方式组织订阅中的所有资源。
  • 通过查看一组共享相同标记的资源的成本来理清组织的帐单。

最后Resource Manager是高可用的, 可能是异地多活(我瞎说的).

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/106187484