收藏 分享(赏)

面向云计算的分布式应用自动部署框架.pdf

上传人:HR专家 文档编号:5555104 上传时间:2019-03-07 格式:PDF 页数:5 大小:1.03MB
下载 相关 举报
面向云计算的分布式应用自动部署框架.pdf_第1页
第1页 / 共5页
面向云计算的分布式应用自动部署框架.pdf_第2页
第2页 / 共5页
面向云计算的分布式应用自动部署框架.pdf_第3页
第3页 / 共5页
面向云计算的分布式应用自动部署框架.pdf_第4页
第4页 / 共5页
面向云计算的分布式应用自动部署框架.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、收 稿 日 期 :2017-08-08 修 回 日 期 :2017-12-13 网 络 出 版 时 间 :2018-02-24 基 金 项 目 : 国 家 自 然 科 学 基 金; 金 融 信 息 平 台“ 新 华08“ 金 融 财 经 数 据 云 服 务 平 台 科 研 专 项(TC16037XX/01)(61602454) 作 者 简 介 : 李 超(1984-), 男, 工 程 师, 研 究 方 向 为 系 统 架 构 设 计、 微 服 务 与 容 器 管 理、DevOps 技 术。 网 络 出 版 地 址 :http:/ 面 向 云 计 算 的 分 布 式 应 用 自 动 部 署 框

2、架 李 超 1 , 花 磊 2 , 宋 云 奎 2 (1. 新 华 通 讯 社 中 国 经 济 信 息 社 有 限 公 司 , 北 京100083 ; 2. 中 国 科 学 院 软 件 研 究 所 , 北 京100190 ) 摘 要 : 云 计 算 环 境 下 的 分 布 式 应 用 规 模 巨 大、 交 互 复 杂、 层 次 众 多, 增 加 了 应 用 部 署 的 复 杂 度。 同 时, 应 用 通 常 同 时 部 署 在 多 个 云 平 台 上, 而 异 构 云 服 务API 缺 少 统 一 标 准, 导 致 了 多 云 之 间 不 可 互 操 作。 针 对 以 上 问 题, 面 向 云

3、 计 算 环 境, 提 出 一 种 细 粒 度 弹 性 应 用 自 动 部 署 框 架CADep, 以 管 理 云 计 算 平 台 内 部 服 务 与 基 于 云 平 台 的 业 务 组 件 之 间 的 交 互 关 系, 并 连 接 各 种 部 署 进 程 和 资 源。 该 框 架 使 用 轻 量 级 的 微 内 核 实 现 了 应 用 部 署 的 核 心 机 制, 并 通 过 可 定 制 组 件 扩 展 部 署 功 能。 同 时, 通 过 分 层 描 述 应 用 及 其 执 行 环 境, 实 现 了 细 粒 度 的 资 源 管 理。 实 验 结 果 表 明, 与 当 前 分 布 式 应 用

4、部 署 框 架 相 比, CADep 具 有 较 短 的 部 署 时 间, 有 效 减 轻 了 部 署 的 工 作 量, 降 低 了 部 署 的 难 度。 关 键 词 : 分 布 式 应 用; 应 用 部 署; 部 署 框 架; 云 计 算 中 图 分 类 号 :TP39 文 献 标 识 码 :A 文 章 编 号 :1673-629X (2018 )06-0012-05 doi:10.3969/j.issn.1673-629X.2018.06.003 DeploymentFrameworkforDistributedApplicationsin CloudComputing LIChao 1

5、,HUALei 2 ,SONGYun-kui 2 (1.ChinaEconomicInformationServiceCo.,Ltd.,XinhuaNewsAgency,Beijing100083,China; 2.InstituteofSoftware,ChineseAcademyofSciences,Beijing100190,China) Abstract:Distributedapplicationsincloudcomputinghavemanycomponents,complexinteractionsandvariouslayers,sodeployingthese applic

6、ationsisdifficult.Furthermore,multiplecloudcomputingplatformshavedifferentserviceAPIs,sothesecloudservicescannotcoop- eratewitheachother.Forthis,weproposeafine-grainedflexibledeploymentframeworkCADepfordistributedapplicationsincloud computingtomanagecloudservicesandinteractionswithapplicationcompone

7、nts,andthenintegratevariousdeploymentprocessesand resources.CADepwithalight-weightmicro-kernelusesacomponent-basedframeworktoimprovetheextensibilityofapplicationde- ployment.Furthermore,itusesthehierarchydescriptionofapplicationsandcontextstomanagecomponentsinafinegranularity.Experi- mentshowsthatco

8、mparedwithtypicaldeploymentframeworks,CADephasshortdeploymenttime,reducesworkamountanddecreases operationaldifficulty. Keywords:distributedapplication;applicationdeployment;deploymentframework;cloudcomputing 0 引 言 在 云 计 算 环 境 下, 分 布 式 应 用 通 常 具 有 多 个 应 用 组 件, 同 时 部 署 在 众 多 节 点, 因 此 云 应 用 的 配 置 管 理 面

9、 临 着 巨 大 挑 战。 首 先, 云 计 算 引 入 了 虚 拟 机(VM), 增 加 了 配 置 管 理 的 复 杂 度; 同 时, 应 用 通 常 需 要 同 时 部 署 在 多 个 云 上, 而 云 计 算 平 台 的API 缺 少 统 一 标 准, 导 致 了 多 云 之 间 不 可 互 操 作。 以 云 计 算 环 境 下 典 型 的 三 层 架 构 电 子 商 务 应 用Rubis 部 署 为 例, 分 析 分 布 式 应 用 部 署 所 面 临 的 问 题。 Rubis 是 基 于Servlet 的JavaEE 应 用, 实 现 了 类 似 于eBay 的 网 上 交 易 应

10、 用, 提 供 了 交 互 型 事 务 处 理 功 能, 如 注 册 新 用 户、 浏 览、 购 买 商 品、 付 款。 管 理 员 使 用Apache 作 为Web 服 务 器 分 发 请 求, Tomcat 作 为 应 用 服 务 器 处 理 请 求,MySQL 作 为 数 据 库 服 务 器 提 供 数 据 存 取。 客 户 请 求 处 理 分 为 与 资 金 相 关 的 关 键 型 业 务 处 理 和 与 浏 览 相 关 的 非 关 键 业 务 处 理。 在 实 际 应 用 中, 通 常 将 关 键 业 务 部 署 在 公 司 的 私 有 云 计 算 平 台, 由 本 地 主 机 集

11、群 组 成; 而 非 关 键 业 务, 部 署 在 接 近 客 户 的 公 有 云 中 托 管。 公 司 会 根 据 云 计 算 第28 卷 第6 期 2018 年6 月计 算 机 技 术 与 发 展 COMPUTERTECHNOLOGYANDDEVELOPMENTVol.28 No.6 June 2018 市 场 上 的 虚 拟 机 租 用 价 格, 将 应 用 运 行 在 不 同 的 公 有 云 计 算 平 台( 如 阿 里 云、 百 度 云), 当 价 格 调 整 则 将 应 用 从 一 个 云 迁 移 到 另 一 个 云 并 进 行 自 动 化 配 置 部 署。 同 时, 需 要 细

12、粒 度 的 应 用 管 理, 这 样 可 以 根 据 更 新 或 迁 移 需 要 来 决 定 操 作WAR 包 还 是 其 中 的 某 个Servlet。 针 对 该 典 型 的 应 用 部 署 实 例, 当 前 的 分 布 式 应 用 部 署 技 术 无 法 适 应 云 计 算 环 境, 主 要 表 现 在 以 下 几 点: 在 云 计 算 环 境 中, 应 用 在VM 中 运 行, 而VM 运 行 在 物 理 机(PM) 上, 需 要 考 虑 多 层 部 署 问 题; 应 用 的 运 行 环 境 是 动 态 的, 在 整 个 生 命 周 期 内 会 在 不 同 的 云 之 间 迁 移, 需

13、 要 支 持 混 合 云 部 署; 多 个 应 用 组 件 在 不 同 云 平 台 上 部 署, 并 且 组 件 依 赖 关 系 存 在 着 多 样 性, 需 要 支 持 细 粒 度 的 应 用 部 署 管 理。 因 此, 文 中 提 出 了 一 个 面 向 多 云 环 境 的 可 伸 缩 细 粒 度 的 应 用 自 动 部 署 框 架CADep, 用 来 管 理 云 平 台 内 部 与 基 于 云 的 业 务 单 元 之 间 的 交 互, 以 连 接 各 种 部 署 进 程 和 相 关 资 源。 CADep 主 要 设 计 思 想 如 下: 使 用 分 层 描 述 方 法 对 应 用 和 执

14、 行 环 境 进 行 细 粒 度 的 描 述; 提 供 一 组 可 重 用 组 件, 其 中 每 个 组 件 执 行 特 定 功 能; 实 现 了 基 本 部 署 管 理 机 制 以 感 知 环 境, 并 根 据 环 境 与 业 务 应 用 做 出 相 应 调 整。 1 相 关 工 作 当 前 的 许 多 应 用 部 署 研 究 都 是 专 门 针 对 单 个 云 平 台 或 单 一 类 型 应 用。 文 献1 提 出 了 基 于Xen 的 云 平 台 自 动 部 署 框 架。 文 献2-3 提 出 了PM、VM 和 应 用 等 三 个 层 次 的 云 应 用 部 署 的 描 述 语 言。 文

15、 献4 提 出 了 与 云 平 台 无 关 的 可 移 植 的 应 用 部 署 的 编 排 语 言。 文 献5 提 出 一 种 自 动 化 部 署 与 监 控Hadoop 平 台 的 系 统 方 案, 自 动 化 部 署Hadoop 平 台, 并 监 控 集 群 及 其 中 各 个 服 务 的 状 态。 文 献6 提 出 一 种 结 合Docker 容 器 技 术 部 署 集 群 的 解 决 方 案, 把Ambari 及 其 运 行 环 境 和 配 置 构 建 成Docker 镜 像, 并 把 多 节 点 容 器 的 运 行 和 Hadoop 集 群 的 部 署 过 程 写 成Shell 脚

16、本, 通 过 命 令 实 现 集 群 的 自 动 化 部 署。 文 献7 对ApacheODE 结 构 以 及 部 署、 执 行BPEL 流 程 的 原 理 进 行 分 析, 设 计 算 法 自 动 生 成 部 署 描 述 文 件 和 服 务 的WSDL 描 述 等, 从 而 实 现ApacheODE 引 擎 环 境 下 服 务 组 合 的 自 动 化 部 署 和 执 行。 文 献8 基 于 用 户 审 计 与SSH 单 向 信 任 安 全 机 制, 着 力 于 规 范 化、 流 程 化, 设 计 自 动 化 部 署 方 案。 文 献9 提 出 一 种 可 运 营 的 网 络 自 动 化 部

17、署 架 构, 并 对 电 信 运 营 商 开 展 多 业 务、 多 租 户 承 载 的 云 资 源 池 网 络 自 动 化 部 署 技 术 选 型 给 出 了 建 议。 文 献10 利 用 可 扩 展 的 通 用 部 署 引 擎 来 管 理 各 种 应 用, 从 而 减 少 生 成 定 制 引 擎 的 步 骤 以 减 少 构 建 开 销。 Bootware 11 创 建 部 署 引 擎 以 部 署 应 用 实 例, 其 使 用 通 用 部 署 引 擎。 文 献12 复 用 现 有 多 样 化 开 源 系 统, 将 不 同 类 型 的 部 署 可 执 行 程 序 转 换 为 基 于TOSCA 标

18、 准 的 构 件。 云 提 供 商 提 供 了 建 模 和 编 排 工 具 13 , 同 时 提 供 了PaaS (Platform-as-a-Service) 服 务 14 , 调 用 该 服 务 可 以 部 署 和 管 理 应 用 实 例, 而 不 需 要 显 式 建 模 应 用 拓 扑。 文 献15 提 出 一 种 便 于 移 动 应 用 开 发 和 部 署 的 整 合 方 案, 从 设 备 属 性、 用 户 偏 好 以 及QoS 需 求 等 多 重 维 度 入 手, 采 用 体 系 结 构 驱 动 的 方 法 对 应 用 进 行 建 模, 并 生 成 满 足 用 户 个 性 化 需 求

19、 的 部 署 方 案。 以 上 方 法 难 以 实 现 多 云 混 合 部 署 场 景, 将 应 用 或 部 分 应 用 自 动 化 迁 移 非 常 困 难。 同 时, 必 须 通 过 开 发 自 定 义 的 粘 合 代 码 来 手 动 包 装, 因 此 只 适 用 于 特 定 部 署 场 景, 缺 乏 通 用 性。 2 分 布 式 云 应 用 自 动 部 署 框 架CADep 2.1 架 构 设 计 CADep 设 计 目 标 是 能 够 描 述 复 杂 分 布 式 应 用, 并 自 动 实 现 整 个 应 用 或 各 应 用 组 件 的 灵 活 部 署。 该 框 架 提 供 了 微 内 核

20、 机 制, 通 过 动 态 插 入 新 的 功 能 组 件 来 应 对 新 的 应 用 和 部 署 环 境, 从 而 具 有 灵 活 性, 以 支 持 部 署 规 模 的 伸 缩 以 及 应 用 的 动 态 重 配。 图1 描 述 了 CADep 架 构, 由 以 下 几 个 模 块 构 成: 2. 4. 5. 5. AMI Repo IaaS API IaaS API PaaS IaaS 1. Kemel 3. API R E S T A P I 6. 图1 CADep 系 统 架 构 (1) 部 署 管 理 器(DM): 提 供VM 接 口 以 管 理VM 及 其 应 用, 在PM 中 实

21、 例 化VM 及 其 应 用。 (2) 代 理: 部 署 在VM 的 软 件 组 件, 使 用 插 件 对 应 用 实 例 进 行 部 署 和 管 理, 并 支 持 不 同 部 署 技 术( 如An- sible、Puppet)。 CADep 使 用 轻 量 级 微 内 核, 插 件 可 以 灵 活 加 入 内 核, 通 过 异 步 消 息 实 现 服 务 器 间 通 信。 (3) 应 用 实 例 管 理 器: 作 为CADep 的 插 件, 在 不 同 的 软 件 平 台 上 监 控 应 用 实 例 并 管 理 其 生 命 周 期。 (4) 消 息 服 务 器: 负 责 在DM 和 代 理

22、之 间 通 过 消 息 服 务 器 进 行 异 步 通 信, 包 括 消 息 定 义、 消 息 服 务 器 与 应 用 实 例 的 交 互 接 口。 (5) 构 件 和 镜 像 库: 可 以 从 本 地 或 公 共 存 储 库 中 管 理 和 检 索 软 件 包 与VM 镜 像。 镜 像 库 将 每 个 需 要 的 3 1 第6 期 李 超 等: 面 向 云 计 算 的 分 布 式 应 用 自 动 部 署 框 架 VM 镜 像 映 射 到 相 应 的 基 础 设 施 组 件, 所 需 的VM 镜 像 可 以 是 公 共VM 镜 像 库 中 的 可 用 镜 像 或 者 是 人 工 创 建 的 镜

23、 像 文 件。 (6) 管 理 控 制 台: 基 于Shell 的 控 制 台 和 基 于An- gularJS 的Web 应 用, 提 供 不 同 用 户 界 面, 将JavaBean 转 换 为JSON 并 通 过REST 与 部 署 管 理 器 进 行 交 互。 CADep 负 责 启 动VM 并 部 署 软 件, 在 软 件 组 件 之 间 动 态 解 析 依 赖 关 系, 更 新 组 件 配 置, 并 启 动 所 有 组 件。 CADep 以 非 侵 入 方 式 管 理 应 用 生 命 周 期, 支 持 应 用 组 件 弹 性 伸 缩 的 热 重 配, 并 且 保 持 组 件 启 动

24、 或 停 止 时 的 一 致 性。 应 用 组 件 为 其 他 应 用 组 件 提 供 服 务, 并 且 依 赖 于 其 他 应 用 组 件 所 提 供 的 服 务。 应 用 组 件 使 用 消 息 队 列 进 行 通 信, 并 根 据 部 署 或 启 动 的 服 务 执 行 相 应 的 操 作, 而 这 些 操 作 由 插 件 实 现( 如Java 的Servlet、 OSGi 的Bundle)。 CADep 采 用 基 于RESTFul 的 分 布 式 通 信 技 术, 支 持IaaS 层 或PaaS 层 的 云 应 用 部 署, 能 够 满 足 多 云 需 求, 如 组 件 细 粒 度

25、的 分 层 描 述, 动 态 的 依 赖 管 理, 并 发 的 组 件 部 署, 多 云 的 分 布 式 部 署, 以 及 制 定 可 配 置 的 部 署 计 划。 2.2 部 署 方 法 2.2.1 系 统 配 置 CADep 将 分 布 式 应 用 作 为 相 互 调 用 的 组 件 集 合, 并 且 定 义 相 关 导 入 导 出 的 相 关 变 量。 典 型 的 分 布 式 架 构 应 用( 如Rubis) 通 常 包 括 表 示 层( 如Apache)、 逻 辑 层( 如Tomcat) 和 数 据 层( 如MySQL)。 其 中, 组 件 是 指Apache, 而 实 例 是 指 部

26、 署 在 特 定 主 机 的Apache 实 例, 组 件 之 间 交 换 数 据 是 字 符 串 或 结 构 化 数 据。 分 布 式 应 用 的 组 件 需 要 导 入 导 出 变 量( 如IP 地 址 或 端 口 号), 需 要 来 自 其 他 应 用 的 变 量 为“ 导 入 变 量“, 其 他 应 用 组 件 需 要 的 变 量 为“ 导 出 变 量“, 例 如,Apache 导 入 来 自 于Tomcat 变 量, 即 应 用 服 务 器 的IP 地 址 和 端 口 号。 此 外, 组 件 可 以 继 承 导 入 导 出 变 量 的 默 认 值, 如Tomcat 组 件 可 以 继

27、 承“ 应 用 服 务 器“ 组 件 的 属 性。 文 中 定 义 了 组 件 与 实 例 的 导 入 导 出 变 量, 表1 给 出 了 Apache 和MySQL 的 组 件 配 置, 其 中, 安 装 参 数 是 强 制 的 组 件 属 性, 指 定 了CADep 的 插 件 以 管 理 部 署 组 件 实 例。 文 中 采 用Ansible 作 为 插 件, 导 入 变 量 列 出 了 启 动 前 需 要 被 解 析 的 变 量。 例 如,Tomcat 导 出IP 变 量, 依 赖 组 件 将 导 入 该 变 量;MySQL 导 出 了 其 他 组 件 所 需 要 的 变 量, 而 无

28、 需 从 其 他 组 件 导 入 变 量。 表1 组 件 配 置 部 署 组 件 安 装 参 数 导 入 变 量 导 出 变 量 Apache Ansible Tomcat.portAJP, Tomcat.ip X MySQL Bash X MySQL.ip MySQL.port配 置 文 件 包 括 应 用 描 述 符 与 应 用 关 系 图, 前 者 包 含 应 用 的 元 信 息( 名 称、 版 本 限 定 符), 后 者 描 述 了 软 件 组 件( 如 虚 拟 机、 云 平 台、 应 用 包), 并 且 定 义 了 包 含 和 运 行 时 关 系。 包 含 关 系 描 述 了 可 以

29、 在 一 个 组 件 上 部 署 另 一 个 组 件, 例 如, 在VM 上 部 署Tomcat 服 务 器, 或 者 在Tomcat 服 务 器 上 部 署Web 应 用。 运 行 时 关 系 描 述 了 共 同 工 作 的 组 件, 例 如,Web 应 用 需 要 数 据 库( 包 括 数 据 库 的IP 地 址 和 端 口)。 这 些 信 息 通 常 采 用 硬 编 码, 而CADep 在 运 行 时 解 析, 通 过 配 置 或 管 理API 来 更 新 组 件( 如JMX、REST), 可 以 并 行 部 署Apache、 Tomcat 和MySQL。 Tomcat 部 署 时, 在

30、 获 得 数 据 库 位 置 之 前, 将 无 法 启 动。 数 据 库 部 署 并 启 动 后,CADep 将 更 新Tomcat 配 置, 以 便 获 得MySQL 位 置, 从 而 形 成 运 行 时 间 依 赖 关 系。 CADep 列 出 了 开 发 人 员 希 望 部 署 或 可 能 部 署 的 应 用 组 件, 包 括 部 署 的 根 节 点( 如VM、 设 备、 远 程 主 机)、 数 据 库、 应 用 服 务 器、 应 用 模 块( 如WAR,ZIP)。 将 应 用 作 为 组 件 的 层 次 结 构, 准 确 追 踪 系 统 中 实 现 的 实 例, 从 而 在 动 态 部

31、 署 中 做 出 决 策。 分 层 模 型 解 析 包 含 关 系, 以 及 导 入 导 出 变 量 模 型 的 运 行 时 关 系, 同 时, 使 用 图 来 决 定 哪 些 组 件 可 以 实 例 化 以 及 如 何 部 署。 图 中 建 模 的 内 容 是 各 种 粒 度 的 组 件, 将 应 用 组 件 进 行 捆 绑, 例 如 将 给 定 的WAR 与 应 用 服 务 器 相 关 联。 CADep 为 部 署 的 应 用 提 供 三 个 文 件。 第 一 个 文 件 包 含CADep 配 置 的 应 用 描 述 文 件, 该 文 件 描 述 了 应 用 信 息, 如 应 用 名、 功

32、 能 描 述、 模 型 文 件 的 位 置 等; 第 二 个 文 件 描 述 了 应 用 组 件 之 间 的 关 联 图, 其 中, 组 件 是 安 装 的 软 件, 也 可 以 是 部 署 的VM 等; 第 三 个 文 件 提 供 了 部 署 组 件 所 需 的 资 源( 如 脚 本、 软 件 包、 配 置 文 件)。 在 运 行 时,CADep 首 先 实 例 化 组 件, 对 实 例 进 行 分 层 结 构 描 述, 然 后 对 其 配 置 以 准 备 部 署。 如 果 根 组 件 带 有 子 组 件, 那 么 必 须 在 根 实 例 中 定 义 子 实 例, 并 且 将 实 例 的 属

33、 性 覆 盖 组 件 的 属 性, 例 如, 如 果Tomcat 组 件 导 出 具 有 默 认 值8080 的 端 口 属 性, 则 实 例 可 能 会 以 实 际 端 口( 如8081) 覆 盖。 2.2.2 初 始 部 署 文 中 使 用 三 层 架 构 的 应 用 实 例 来 描 述CADep 的 工 作 方 式。 图2 描 述 了 组 件 之 间 的 依 赖 关 系, 在 云 计 算 平 台 弹 性 伸 缩 的 场 景 中, 可 以 对 多 个Tomcat 节 点 进 行 增 删, 以 适 应 负 载 的 变 化, 但 需 要 对Apache 节 点 进 行 动 态 重 新 配 置,

34、 使 得 请 求 转 发 模 块 可 以 感 知 所 有 可 用 的Tomcat 节 点。 CADep 在3 个 独 立 的 虚 拟 机 中 部 署Apache、MySQL 和Tomcat, 并 在 特 定 依 赖 关 系 下 更 新 配 置 文 件, 例 如,CADep 发 现MySQL 的IP 地 址 和 端 口 号 时, 发 送 到Tomcat 节 点, 这 样 它 就 可 以 更 新 配 置 并 启 动。 VM 支 持Apache、Tomcat 或MySQL 组 件 4 1 计 算 机 技 术 与 发 展 第28 卷 的 部 署, 并 且 每 个 组 件 都 以 导 入 导 出 形 式

35、 进 行 描 述。 有 了 该 描 述 信 息,CADep 就 能 够 感 知 何 时 可 以 启 动 部 署 组 件, 通 过 导 入 导 出 配 置 信 息 来 实 现 组 件 之 间 的 数 据 交 换, 同 时, 实 现 应 用 组 件 的 生 命 周 期 管 理, 例 如, 在 导 入 配 置 信 息 时 启 动 组 件。 :Apache Tomcat :RUBID WAR MySQL IP,Port IP,Port 图2 组 件 描 述 2.2.3 动 态 重 部 署 当 系 统 处 于 运 行 状 态, 创 建、 更 改 或 删 除 实 例 时, 需 要 指 定 要 实 例 化

36、或 修 改 的 组 件, 重 命 名 组 件 实 例 并 定 义 部 署 位 置。 例 如, 由 于 负 载 增 加, 需 要 自 动 添 加 新 Tomcat 实 例 的VM, 创 建 新 的VM 实 例, 代 理 会 监 测 到 运 行 环 境 的 变 化, 并 向DM 发 送 通 知。 CADep 提 供 了 规 则 来 响 应 检 测 到 的 变 化,DM 执 行 相 应 动 作 对 环 境 变 化 做 出 响 应。 例 如,CADep 从 本 地Zabbix 的Agent 中 获 取CPU 等 度 量, 如 果 度 量 超 过 阈 值, 则 将 运 行 状 态 发 送 给DM。 DM

37、 调 用 请 求 处 理 程 序 来 响 应 该 消 息, 添 加 完 整 路 径 以 及 两 个 实 例 到 应 用 模 型 中。 在 添 加 过 程 的 开 始 阶 段, 这 两 个 新 程 序 都 没 有 启 动, 后 来 由 DM 部 署 并 启 动 它 们。 DM 首 先 创 建VM, 向VM 发 送 部 署 命 令, 并 在 上 面 部 署 新 的Tomcat 实 例; 然 后, CADep 代 理 将 该 实 例 的 相 关 信 息 进 行 发 布, 即 新 Tomcat 实 例 的IP 地 址 和 端 口 号;Apache 负 载 均 衡 器 会 收 到 该 信 息, 部 署

38、在 该VM 上 的 代 理 将 调 用 一 个 CADep 插 件 来 更 新Apache 服 务 器 的 配 置 文 件, 这 样 负 载 均 衡 器 就 可 以 感 知 这 两 个Tomcat 服 务 器。 3 实 例 研 究 3.1 实 验1 : 部 署 时 间 比 较 3.1.1 实 验 环 境 CADep 解 析 组 件 的 动 态 依 赖 关 系, 同 时 并 发 部 署 组 件。 CADep 与 典 型 的 部 署 框 架Cloudify、RightScale 和Scalr 进 行 部 署 时 间 的 对 比, 每 个 框 架 分 别 重 复 部 署 10 次。 文 中 选 择

39、阿 里 云 作 为 部 署 应 用 的 云 计 算 平 台, 使 用Ansible 作 为CADep 的 安 装 插 件, 部 署Rubis 应 用。 如 果 用 户 可 以 使 用Web 浏 览 器 连 接 并 登 录Ad- ministration 页 面, 并 创 建 数 据 库, 则 表 明 部 署 成 功。 每 个 框 架 都 有 自 己 的 生 命 周 期 管 理, 将 所 有 这 些 状 态 分 成 启 动 和 运 行 等 两 个 阶 段。 (1) 启 动 阶 段: 客 户 端 发 送“ 部 署“ 请 求 到DM, DM 处 理 请 求, 并 获 得 脚 本 和 其 他 必 要

40、的 文 件, 启 动 脚 本( 包 括 设 置 代 理、 向DM 发 送 启 动 信 息 等)。 具 体 步 骤 包 括: 资 源 供 给、 启 动 虚 拟 机、 部 署Apache、MySQL、 Administration。 (2) 运 行 阶 段: 系 统 执 行 脚 本, 在 服 务 器 上 运 行 服 务 或 组 件, 包 括 预 设 状 态( 下 载tarball、 传 输 脚 本 和 必 要 的 文 件 到VM、 准 备 运 行 时 环 境 等), 配 置, 安 装( 将 资 源 和 配 置 文 件 放 置 到 正 确 位 置, 并 设 置 权 限 等), 预 启 动( 建 立

41、软 件 组 件 的 依 赖 关 系), 启 动, 生 效( 更 新 变 量, 配 置 监 控)。 具 体 步 骤 包 括: 启 动Apache、MySQL、 Administration。 3.1.2 实 验 结 果 与 分 析 表2 给 出 了 应 用 部 署 时 间 的 比 较, 部 署 时 间 为 从 启 动 到 最 后 一 个 组 件 正 确 安 装 的 时 间。 实 验 结 果 表 明,CADep 的 部 署 时 间 明 显 比 其 他 框 架 都 要 低;Scalr 与CADep 的 部 署 阶 段 的 时 间 最 为 接 近; 运 行 阶 段 的 时 间 比CADep 的 少,

42、这 是 由 于 其 不 解 析 服 务 间 的 动 态 依 赖 关 系; 在Scalr 中, 组 件 之 间 的 依 赖 关 系 是 通 过We- bUI 中 的 配 置 来 交 换 部 署 信 息, 虽 然 时 间 较 短, 但 操 作 复 杂, 易 于 出 错。 表2 应 用 部 署 时 间 比 较 s CADep Cloudify RightScale Scalr 启 动 阶 段 164 227 178 182 运 行 阶 段 209 384 286 197 总 计 373 611 464 379 3.2 实 验2 : 部 署 工 作 量 3.2.1 实 验 环 境 该 实 验 基 于O

43、SGi 的SPECjms2007 基 准 测 试 应 用, 部 署 在 阿 里 云 的VM 上。 OSGi 应 用 通 常 由 一 个 或 多 个OSGi 组 件 构 成, 以 提 供 应 用 的 运 行 时 环 境 并 管 理OSGi 组 件, 如Joram、JNDI。 使 用 阿 里 云 的 两 个 VM 实 例, 分 别 选 择Felix 或Equinox 作 为 底 层OSGi 框 架 以 管 理Joram 实 例、OSGiJNDI 实 例 和JMSOSGi 客 户 端, 由“osgi-bundle“ 安 装 程 序 管 理。 由 于Cloudi- fy 提 供 了 脚 本 语 言,

44、可 以 用 来 表 达 分 布 式 应 用 结 构, 故 选 择 了Cloudify 作 为 比 较 对 象, 但CADep 以 分 层 结 构 描 述 应 用, 而Cloudify 则 以 扁 平 结 构 描 述 应 用。 3.2.2 实 验 结 果 与 分 析 CADep 用 户 只 需 要 为 每 个 阿 里 云VM 实 例 分 别 编 写 一 个 部 署 计 划, 而 多 个OSGi 组 件( 包 括Joram、 CADep、JNDI) 可 以 重 用 相 同 的 部 署 计 划。 然 而, Cloudify 用 户 则 需 要 为VM 实 例 和 每 个 组 件 分 别 编 写 一

45、个 对 应 的 部 署 计 划, 总 共 需 要 编 写 六 个 部 署 计 划, 是 CADep 编 写 部 署 计 划 工 作 量 的 两 倍。 该 实 验 结 果 表 明,CADep 具 有 细 粒 度 描 述 组 件 的 能 力, 具 有 较 好 的 5 1 第6 期 李 超 等: 面 向 云 计 算 的 分 布 式 应 用 自 动 部 署 框 架 适 用 性, 能 够 减 少 开 发 部 署 计 划 的 工 作 量。 3.3 实 验3 : 部 署 复 杂 度 3.3.1 实 验 环 境 在 多 云 平 台 上 部 署 流 数 据 处 理 系 统Storm 集 群 以 执 行 流 数

46、据 处 理, 将CADep 和 根 据 说 明 书 手 动 部 署 时 间 进 行 比 较。 Storm 由Zookeeper 集 群、Nimbus 服 务 器、Storm 管 理 器 组 成, 需 要 安 装JZMQ、ZeroMQ 和 Python。 该 实 验 在 多 云 环 境 中 进 行, 使 用 两 个 公 有 云 ( 阿 里 云 和 百 度 云) 和 一 个 私 有 云(Xen Serve)。 CADep 为 这 些 云 提 供 了 三 个IaaS 插 件, 以 协 调IaaS 平 台 间 的 服 务 调 用, 其 中 每 个 插 件 都 需 要 实 现APIJa- va 接 口。

47、 实 现 这 些 插 件 的 代 码 行 数 分 别 为: 阿 里 云 196 行 代 码, 百 度 云387 行 代 码, 而XenServer 是132 行 代 码。 Zookeeper 安 装 在 阿 里 云,Nimbus 安 装 在 百 度 云,Storm 安 装 在XenServer 私 有 云 平 台。 3.3.2 实 验 结 果 与 分 析 Storm 的 在 线 安 装 指 南 有8 页 长 度 的 篇 幅, 同 时 也 有 许 多 依 赖 的 外 部 文 档 链 接。 要 求 一 名 未 曾 安 装 过 Storm 的 软 件 运 维 工 程 师 按 照 安 装 指 南 手

48、动 对 其 进 行 配 置, 其 第 一 次 安 装 用 了7 小 时18 分 钟, 第 二 次 安 装 用 了4 小 时12 分 钟, 而 第 三 次 安 装 则 用 了1 小 时14 分 钟。 理 解 描 述 不 够 详 细 的 安 装 说 明、 解 决 环 境 问 题、 寻 找 下 载 所 需 的 依 赖 包 以 及 调 试 等 操 作 消 耗 了 其 大 量 时 间。 同 样 的 工 作 是 由 另 一 位 从 未 配 置 安 装 过 Storm 的 软 件 运 维 工 程 师 使 用CADep 完 成, 时 间 主 要 用 于 编 写Zookeeper,Nimbus,Supervis

49、ors,JZMQ,Ze- roMQ 和Python 的 部 署 计 划。 他 编 写140 行 左 右 的 Storm 组 件 的 部 署 脚 本, 配 置 之 后 可 以 通 过CADep 对 Storm 进 行 管 理( 部 署、 启 动、 停 止、 反 部 署、 更 新), 并 自 动 连 接 到 其 他 应 用。 部 署 脚 本 开 发 时 间 大 约 是2 小 时35 分 钟, 其 中,38 分 钟 用 来 设 计 组 件,75 分 钟 用 来 编 写 脚 本,42 分 钟 用 于 调 试 和 测 试。 如 果 需 要 从In- ternet 上 下 载 所 需 的 包, 安 装Storm 需 要26 分 钟; 如 果 从 本 地 存 储 库 检 索 包, 安 装Storm 大 约9 分 钟。 使 用 CADep 自 动 化 安 装Storm, 可 以 使 得 开 发 者 在 多 云 上 部 署 其 应 用, 而 无 需 了 解 实 现 的 技 术 细 节。 同

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信信息 > 电子电气自动化

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报